Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
phantun — يحوِّل تدفق UDP إلى تدفقات TCP (مزيفة) يمكنها المرور عبر جدران الحماية/NAPT من الطبقة 3 والطبقة 4 (NATs). | Kitploit
أدوات/GitHubGitHub/dndx/phantun
التهرب من IDS/IPSأمن الشبكات
GitHubdndx/phantun

phantun

يحوِّل تدفق UDP إلى تدفقات TCP (مزيفة) يمكنها المرور عبر جدران الحماية/NAPT من الطبقة 3 والطبقة 4 (NATs).

عرض المستودع
2.4k217منذ 10 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

فانتون

أداة خفيفة وسريعة لتشويش حزم UDP إلى TCP.

GitHub Workflow Status docs.rs

جدول المحتويات

  • فانتون
  • أحدث إصدار
  • نظرة عامة
  • الاستخدام
    • 1. تفعيل إعادة توجيه IP للنواة
    • 2. إضافة قواعد جدار الحماية المطلوبة
      • العميل
        • باستخدام nftables
        • باستخدام iptables
      • الخادم
        • باستخدام nftables
        • باستخدام iptables
    • 3. تشغيل ملفات فانتون الثنائية بدون صلاحيات الجذر (اختياري)
    • 4. بدء خفي فانتون
      • الخادم
      • العميل
  • الزيادة في MTU
    • حساب MTU لـ WireGuard
  • توافق الإصدارات
  • الوثائق
  • الأداء
  • الخطط المستقبلية
  • المقارنة مع udp2raw
  • الترخيص

أحدث إصدار

v0.8.1

دعم معمارية MIPS لفانتون

Rust توفر فقط دعم المستوى 3 للمنصات القائمة على MIPS منذ 2023. لذلك، تُبنى إصدارات فانتون لـ MIPS باستخدام سلسلة أدوات Rust الليلية وتُقدم على أساس أفضل جهد فقط.

نظرة عامة

فانتون هو مشروع يقوم بتشويش حزم UDP إلى اتصالات TCP. يهدف إلى تحقيق أقصى أداء مع أقل قدر من المعالجة والنفقات الإضافية للتغليف.

يُستخدم عادةً في البيئات التي يكون فيها UDP محظورًا أو مقيدًا ولكن TCP مسموح به.

يقوم فانتون ببساطة بتحويل تيار من حزم UDP إلى حزم تيار TCP مشوشة. صُمم مكدس TCP المستخدم من قبل فانتون لاجتياز معظم أجهزة جدران الحالة/عديمة الحالة وNAT من المستوى 3/4. لن يتمكن من اجتياز بروكسيات المستوى 7. ومع ذلك، فإن ميزة هذا النهج هي أن لا تحدث أي من مشكلات الأداء الشائعة لـ UDP عبر TCP مثل إعادة الإرسال والتحكم في التدفق. يتم الحفاظ على خصائص UDP الأساسية مثل التسليم خارج الترتيب حتى لو بدا الاتصال كاتصال TCP من منظور جدران الحماية/أجهزة NAT.

فانتون يعني "شبح TUN"، فهو مشوش لحركة UDP يقوم بالعمل الكافي فقط ليجعلها تمر عبر جدار الحالة/NAT كحزم TCP.

كُتب فانتون بلغة Rust الآمنة بنسبة 100%. تم تحسينه بشكل كبير ليتمدد جيدًا على الأنظمة متعددة النوى ولا يواجه مشكلة في إشباع جميع موارد وحدة المعالجة المركزية المتاحة على اتصال سريع. راجع قسم الأداء لنتائج القياس.

نتائج اختبار أداء فانتون مخطط تدفق حركة المرور

الاستخدام

في المثال أدناه، يُفترض أن خادم فانتون يستمع لاتصالات عملاء فانتون الواردة على المنفذ 4567 (خيار --local للخادم)، ويقوم بإعادة توجيه حزم UDP إلى خادم UDP على 127.0.0.1:1234 (خيار --remote للخادم).

يُفترض أيضًا أن عميل فانتون يستمع لحزم UDP الواردة على 127.0.0.1:1234 (خيار --local للعميل) ويتصل بخادم فانتون على 10.0.0.1:4567 (خيار --remote للعميل).

يقوم فانتون بإنشاء واجهة TUN لكل من العميل والخادم. بالنسبة للـ عميل، يعين فانتون لنفسه عنوان IP 192.168.200.2 و fcc8::2 افتراضيًا. بالنسبة للـ خادم، يعين 192.168.201.2 و fcc9::2 افتراضيًا. لذلك، يجب أن يكون تمكين إعادة توجيه IPv4/IPv6 للنواة لديك وإعداد قواعد iptables/nftables مناسبة لـ NAT بين عنوان بطاقة الشبكة الفعلية وعنوان واجهة Tun الخاصة بفانتون.

يمكنك تخصيص اسم واجهة Tun التي ينشئها فانتون والعناوين المعينة. يُرجى تشغيل الملف القابل للتنفيذ مع خيار -h لمعرفة كيفية تغييرها.

طريقة أخرى للمساعدة في فهم هيكل الشبكة هذا (يرجى الاطلاع على الرسم البياني أعلاه لتوضيح هذا الهيكل):

عميل فانتون يشبه جهازًا بعنوان IP خاص (192.168.200.2/fcc8::2) خلف موجه. لكي يتمكن من الوصول إلى الإنترنت، ستحتاج إلى عمل SNAT لعنوان IP الخاص قبل أن تغادر حركة المرور بطاقة الشبكة.

خادم فانتون يشبه خادمًا بعنوان IP خاص (192.168.201.2/fcc9::2) خلف موجه. للوصول إليه من الإنترنت، تحتاج إلى عمل DNAT لمنفذ الاستماع الخاص به على الموجه وتغيير عنوان IP الوجهة إلى المكان الذي يستمع فيه الخادم للاتصالات الواردة.

في هذه الحالات، تعمل الآلة/iptables التي تشغل فانتون كـ "موجه" يسمح لفانتون بالتواصل مع الخارج باستخدام عناوين IP الخاصة به.

اعتبارًا من فانتون v0.4.1، IPv6 مدعوم بالكامل لكل من جانبي TCP و UDP. لتحديد عنوان IPv6، استخدم التنسيق التالي: [::1]:1234 مع خيارات سطر الأوامر. تحليل سجل AAAA مدعوم أيضًا. يُرجى تشغيل البرنامج مع -h لرؤية الخيارات التفصيلية حول كيفية التحكم في سلوك IPv6.

العودة إلى جدول المحتويات

1. تفعيل إعادة توجيه IP للنواة

حرر /etc/sysctl.conf، أضف net.ipv4.ip_forward=1 وقم بتشغيل sudo sysctl -p /etc/sysctl.conf.

إعدادات خاصة بـ IPv6

net.ipv6.conf.all.forwarding=1 يجب تعيينها أيضًا.

العودة إلى جدول المحتويات

2. إضافة قواعد جدار الحماية المطلوبة

العميل

يحتاج العميل ببساطة إلى تفعيل SNAT على الواجهة الفعلية لترجمة عنوان فانتون إلى عنوان يمكن استخدامه على الشبكة الفعلية. يمكن القيام بذلك ببساطة باستخدام التمويه (masquerade).

ملاحظة: قم بتغيير eth0 إلى اسم الواجهة الفعلية الحقيقية

العودة إلى جدول المحتويات

باستخدام nftables

root@kitploit:~
table inet nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        iifname tun0 oif eth0 masquerade
    }
}

ملاحظة: القاعدة أعلاه تستخدم inet كنوع عائلة الجدول، لذا فهي متوافقة مع كل من IPv4 و IPv6.

العودة إلى جدول المحتويات

باستخدام iptables

root@kitploit:~
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

العودة إلى جدول المحتويات

الخادم

يحتاج الخادم إلى عمل DNAT لمنفذ استماع TCP إلى عنوان واجهة TUN الخاصة بفانتون.

ملاحظة: قم بتغيير eth0 إلى اسم الواجهة الفعلية الحقيقية و 4567 إلى رقم منفذ TCP الفعلي الذي يستخدمه خادم فانتون

العودة إلى جدول المحتويات

باستخدام nftables

root@kitploit:~
table inet nat {
    chain prerouting {
        type nat hook prerouting priority dstnat; policy accept;
        iif eth0 tcp dport 4567 dnat ip to 192.168.201.2
        iif eth0 tcp dport 4567 dnat ip6 to fcc9::2
    }
}

العودة إلى جدول المحتويات

باستخدام iptables

root@kitploit:~
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination 192.168.201.2
ip6tables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination fcc9::2

العودة إلى جدول المحتويات

3. تشغيل ملفات فانتون الثنائية بدون صلاحيات الجذر (اختياري)

من غير المستحسن تشغيل تطبيقات مواجهة للشبكة كمستخدم جذر. يمكن تشغيل فانتون بالكامل كمستخدم غير جذر مع صلاحية cap_net_admin.

root@kitploit:~
sudo setcap cap_net_admin=+pe phantun_server
sudo setcap cap_net_admin=+pe phantun_client

العودة إلى جدول المحتويات

4. بدء خفي فانتون

ملاحظة: قم بتشغيل الملف القابل للتنفيذ لفانتون مع خيار -h لرؤية الخيارات التفصيلية الكاملة.

العودة إلى جدول المحتويات

الخادم

ملاحظة: 4567 هو منفذ TCP الذي يجب أن يستمع عليه فانتون ويجب أن يتوافق مع قاعدة DNAT المحددة أعلاه. 127.0.0.1:1234 هو خادم UDP الذي سيتم الاتصال به للاتصالات الجديدة.

root@kitploit:~
RUST_LOG=info /usr/local/bin/phantun_server --local 4567 --remote 127.0.0.1:1234

أو استخدم اسم المضيف مع --remote:

root@kitploit:~
RUST_LOG=info /usr/local/bin/phantun_server --local 4567 --remote example.com:1234

ملاحظة: يقوم الخادم افتراضيًا بتعيين كل من عناوين IPv4 و IPv6 الخاصة لواجهة Tun. إذا كنت لا ترغب في استخدام IPv6، يمكنك ببساطة تخطي إنشاء قاعدة DNAT لـ IPv6 أعلاه، ووجود عنوان IPv6 على واجهة Tun لن يكون له أي تأثير جانبي على الخادم.

العودة إلى جدول المحتويات

العميل

ملاحظة: 127.0.0.1:1234 هو عنوان UDP والمنفذ الذي يجب أن يستمع عليه فانتون. 10.0.0.1:4567 هو خادم فانتون الذي سيتم الاتصال به.

root@kitploit:~
RUST_LOG=info /usr/local/bin/phantun_client --local 127.0.0.1:1234 --remote 10.0.0.1:4567

أو استخدم اسم المضيف مع --remote:

root@kitploit:~
RUST_LOG=info /usr/local/bin/phantun_client --local 127.0.0.1:1234 --remote example.com:4567
إعدادات خاصة بـ IPv6
root@kitploit:~
RUST_LOG=info /usr/local/bin/phantun_client --local 127.0.0.1:1234 --remote [fdxx::1234]:4567

أسماء النطاقات مع سجل AAAA مدعومة أيضًا.

العودة إلى جدول المحتويات

الزيادة في MTU

يهدف فانتون إلى إبقاء النفقات الإضافية للتغليف إلى الحد الأدنى. النفقات الإضافية مقارنة بحزمة UDP عادية هي كما يلي (باستخدام IPv4 كمثال أدناه):

حزمة UDP قياسية: 20 بايت رأس IP + 8 بايت رأس UDP = 28 بايت

حزمة مشوشة: 20 بايت رأس IP + 20 بايت رأس TCP = 40 بايت

لاحظ أن فانتون لا يضيف أي رأس إضافي غير رؤوس IP و TCP من أجل اجتياز فحص الحزمة مع الحفاظ على الحالة!

النفقات الإضافية لفانتون: 12 بايت. بمعنى آخر، عند استخدام فانتون، يتم تقليل الحمولة القابلة للاستخدام لحزمة UDP بمقدار 12 بايت. هذا هو الحد الأدنى للنفقات الإضافية الممكنة عند القيام بهذا النوع من التشويش.

مخطط رؤوس الحزم

العودة إلى جدول المحتويات

حساب MTU لـ WireGuard

للأشخاص الذين يستخدمون فانتون لنفق حزم UDP لـ WireGuard®، إليك بعض الإرشادات حول تحديد MTU الصحيح لاستخدامه لواجهة WireGuard الخاصة بك.

root@kitploit:~
WireGuard MTU = MTU الرابط - رأس IPv4 (20 بايت) - رأس TCP (20 بايت) - نفقات WireGuard الإضافية (32 بايت)

أو

root@kitploit:~
WireGuard MTU = MTU الرابط - رأس IPv6 (40 بايت) - رأس TCP (20 بايت) - نفقات WireGuard الإضافية (32 بايت)

على سبيل المثال، لرابط شبكة ب MTU 1500 بايت، يجب تعيين MTU لواجهة WireGuard كالتالي:

IPv4: 1500 (MTU الرابط) - 20 - 20 - 32 = 1428 بايت

IPv6: 1500 (MTU الرابط) - 40 - 20 - 32 = 1408 بايت

ستكون حزمة بيانات TCP الناتجة لفانتون 1500 بايت والتي لا تتجاوز MTU الواجهة البالغ 1500.

يرجى ملاحظة لا يمكن لفانتون العمل بشكل صحيح إذا تجاوز حجم الحزمة MTU الرابط، لأن فانتون لا يقوم بأي تجزئة (IP-fragmentation) وإعادة تجميع. لنفس السبب، يقوم فانتون دائمًا بتعيين بت DF (عدم التجزئة) في رأس IP لمنع الأجهزة الوسيطة من إجراء أي تجزئة على الحزمة.

من الموصى به بشدة أيضًا استخدام نفس MTU الواجهة لكلا طرفي نفق WireGuard، وإلا قد يحدث فقدان غير متوقع للحزم وهذه المشكلات عادة ما تكون صعبة الحل.

العودة إلى جدول المحتويات

توافق الإصدارات

بينما يكون مكدس TCP مستقرًا إلى حد كبير، التوقع العام هو أنه يجب عليك تشغيل نفس الإصدارات الثانوية لخادم/عميل فانتون على كلا الطرفين لضمان أقصى توافق.

العودة إلى جدول المحتويات

الوثائق

للمستخدمين الذين يرغبون في استخدام مكتبة fake-tcp داخل مشاريعهم الخاصة، راجع الوثائق الخاصة بالمكتبة على: https://docs.rs/fake-tcp.

العودة إلى جدول المحتويات

الأداء

تم اختبار الأداء على مثيلين من AWS t4g.xlarge مع 4 vCPUs و 5 Gb/s NIC عبر الشبكة المحلية. تم استخدام nftables لإعادة توجيه تيار UDP لـ iperf3 للمرور عبر نفق فانتون/udp2raw بين مثيلي الاختبار وتم ضبط MTU لتجنب التجزئة.

تم استخدام فانتون v0.3.2 و udp2raw_arm_asm_aes 20200818.0. كانت هذه أحدث إصدارات كلا المشروعين حتى أبريل 2022.

أمر الاختبار: iperf3 -c <IP> -p <PORT> -R -u -l 1400 -b 1000m -t 30 -P 5

شرح لبعض التقنيات المستخدمة في فانتون لتحقيق نتيجة الأداء هذه: كتابة خادم UDP عالي الكفاءة في Rust.

العودة إلى جدول المحتويات

الخطط المستقبلية

  • موازنة تحميل تيار UDP واحد عبر تيارات TCP متعددة
  • اختبارات التكامل
  • إدراج/إزالة تلقائي لقواعد جدار الحماية المطلوبة

العودة إلى جدول المحتويات

المقارنة مع udp2raw

udp2raw هو مشروع شائع آخر بواسطة @wangyu- مشابه جدًا لما يمكن أن يفعله فانتون. في الواقع، استلهمت فكر فانتون من udp2raw. السبب الأكبر لتطوير فانتون هو نقص الأداء عند تشغيل udp2raw (خاصة على الأنظمة متعددة النوى مثل Raspberry Pi). ومع ذلك، الهدف ليس أبدًا أن يكون مكتمل الميزات مثل udp2raw ودعم فقط حالات الاستخدام الأكثر شيوعًا. والأهم من ذلك، أن UDP عبر ICMP ووضع UDP عبر UDP غير مدعومين ولا يوجد دعم لمكافحة إعادة التشغيل أو التشفير. فائدة ذلك هي أداء أفضل بشكل عام ونفقات إضافية أقل لـ MTU بسبب عدم وجود رؤوس إضافية داخل حمولة TCP.

إليك نظرة سريعة على المقارنة بين الاثنين لمساعدتك في الاختيار:

العودة إلى جدول المحتويات

الترخيص

حقوق النشر 2021-2025 داتونغ صن ([email protected])

مرخص بموجب رخصة Apache، الإصدار 2.0 <LICENSE-APACHE أو https://www.apache.org/licenses/LICENSE-2.0> أو رخصة MIT <LICENSE-MIT أو https://opensource.org/licenses/MIT>، حسب اختيارك. لا يجوز نسخ أو تعديل أو توزيع الملفات في المشروع إلا وفقًا لهذه الشروط.

العودة إلى جدول المحتويات

تنزيل الأداة
الوضعسرعة الإرسالسرعة الاستقبالاستخدام وحدة المعالجة المركزية الإجمالي
مباشر (تيار واحد)3.00 Gbits/sec2.37 Gbits/sec25% (نواة واحدة بنسبة 100%)
فانتون (تيار واحد)1.30 Gbits/sec1.20 Gbits/sec60% (نواة واحدة بنسبة 100%، 3 أنوية بنسبة 50%)
udp2raw (cipher-mode=none auth-mode=none disable-anti-replay) (تيار واحد)1.30 Gbits/sec715 Mbits/sec40% (نواة واحدة بنسبة 100%، نواة واحدة بنسبة 50%، نواتان خاملتان)
اتصال مباشر (5 تيارات)5.00 Gbits/sec3.64 Gbits/sec25% (نواة واحدة بنسبة 100%)
فانتون (5 تيارات)5.00 Gbits/sec2.38 Gbits/sec95% (جميع الأنوية مستخدمة)
udp2raw (cipher-mode=none auth-mode=none disable-anti-replay) (5 تيارات)5.00 Gbits/sec770 Mbits/sec50% (نواتان بنسبة 100%)
فانتونudp2raw
تشويش UDP عبر FakeTCP✅✅
تشويش UDP عبر ICMP❌✅
تشويش UDP عبر UDP❌✅
متعدد الخيوط✅❌
الإنتاجيةأفضلجيد
وضع الطبقة 3واجهة TUNمقابس خام + BPF
النفقات الإضافية لتغليف MTU12 بايت44 بايت
اتصالات TCP منفصلة لكل اتصال UDPعميل/خادمخادم فقط
مكافحة إعادة التشغيل، التشفير❌✅
IPv6✅✅