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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
udp2raw — نفق يحول حركة مرور UDP إلى حركة مرور UDP/FakeTCP/ICMP مشفرة باستخدام Raw Socket، يساعدك على تجاوز جدران حماية UDP (أو بيئة UDP غير مستقرة) | Kitploit
أدوات/GitHubGitHub/wangyu-/udp2raw
أدوات التشفير/فك التشفيرالتهرب من IDS/IPSأمن الشبكات
GitHubwangyu-/udp2raw

udp2raw

نفق يحول حركة مرور UDP إلى حركة مرور UDP/FakeTCP/ICMP مشفرة باستخدام Raw Socket، يساعدك على تجاوز جدران حماية UDP (أو بيئة UDP غير مستقرة)

عرض المستودع
8.5k1.3kمنذ 10 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Udp2raw-tunnel

نفق يحول حركة مرور UDP إلى حركة مرور FakeTCP/UDP/ICMP مشفرة باستخدام Raw Socket، ويساعدك في تجاوز جدران حماية UDP (أو بيئة UDP غير مستقرة).

عند استخدامه بمفرده،udp2raw ينقل فقط حركة مرور UDP. ومع ذلك،إذا استخدمت udp2raw مع أي VPN قائم على UDP معًا،يمكنك نقل أي حركة مرور (بما في ذلك TCP/UDP/ICMP)، حاليًا، تم تأكيد دعم OpenVPN/L2TP/ShadowVPN وtinyfecVPN.

image0

أو

image_vpn

ويكي udp2raw

简体中文

المنصات المدعومة

مضيف Linux (بما في ذلك Linux سطح المكتب، هاتف/جهاز لوحي Android، راوتر OpenWRT، أو Raspberry PI) مع حساب الجذر أو إمكانية cap_net_raw.

لمستخدمي Windows وMacOS، استخدم udp2raw في هذا المستودع.

الميزات

إرسال/استقبال حزم UDP برؤوس ICMP/FakeTCP/UDP

تساعدك رؤوس ICMP/FakeTCP في تجاوز حظر UDP أو جودة خدمة UDP (QoS) أو سلوك NAT غير المناسب لـ UDP لدى بعض مزودي خدمة الإنترنت. في وضع رأس ICMP، يعمل udp2raw كنفق ICMP.

رؤوس UDP مدعومة أيضًا. في وضع رأس UDP، يتصرف تمامًا كنفق UDP عادي، ويمكنك الاستفادة من الميزات الأخرى (مثل التشفير، مكافحة إعادة التشغيل، أو تثبيت الاتصال).

TCP محاكاة مع تسليم فوري/خارج الترتيب

في وضع رأس FakeTCP، يحاكي udp2raw المصافحة ثلاثية الاتجاهات عند إنشاء اتصال، ويحاكي seq و ack_seq أثناء نقل البيانات. كما يحاكي بعض خيارات TCP مثل: MSS، sackOk، TS، TS_ack، wscale. ستعتبر جدران الحماية أن FakeTCP هو اتصال TCP، لكنه في الأساس UDP: فهو يدعم التسليم الفوري/خارج الترتيب (تمامًا مثل UDP العادي)، دون التحكم في الازدحام أو إعادة الإرسال. لذلك لن تكون هناك مشكلة TCP-over-TCP عند استخدام OpenVPN.

التشفير، مكافحة إعادة التشغيل

  • تشفير حركة المرور باستخدام AES-128-CBC.
  • حماية سلامة البيانات باستخدام HMAC-SHA1 (أو MD5/CRC32 الأضعف).
  • الدفاع ضد هجوم إعادة التشغيل باستخدام نافذة مكافحة إعادة التشغيل.

ملاحظات حول التشفير

اكتشاف الأعطال وتثبيت الاتصال (استعادة الاتصال)

يتم اكتشاف فشل الاتصال بواسطة نبضات القلب. إذا انتهت المهلة، سيقوم العميل تلقائيًا بتغيير رقم المنفذ وإعادة الاتصال. إذا نجحت إعادة الاتصال، سيتم استعادة الاتصال السابق، وستظل جميع محادثات UDP الحالية صالحة.

على سبيل المثال، إذا كنت تستخدم udp2raw + OpenVPN، فلن يفقد OpenVPN الاتصال بعد أي إعادة اتصال، حتى إذا تم إعادة توصيل كابل الشبكة أو تغيير نقطة الوصول Wi-Fi.

ميزات أخرى

  • تعدد الإرسال يمكن لعميل واحد التعامل مع اتصالات UDP متعددة، جميعها تشترك في نفس الاتصال الخام.
  • عملاء متعددون يمكن لخادم واحد أن يكون لديه عدة عملاء.
  • دعم NAT تعمل جميع الأوضاع الثلاثة في بيئات NAT.
  • دعم OpenVZ تم اختباره على VPS من BandwagonHost.
  • سهولة البناء لا تبعيات. لتجميع udp2raw عبر الأنظمة، كل ما عليك فعله هو تنزيل سلسلة أدوات، تعديل ملف makefile للإشارة إلى سلسلة الأدوات، تشغيل make cross ثم يصبح كل شيء جاهزًا. (ملاحظة: الملفات الثنائية المجمعة مسبقًا لسطح المكتب، Raspberry Pi، Android، بعض أجهزة توجيه OpenWrt مضمنة بالفعل في الإصدارات)

الكلمات المفتاحية

Bypass UDP QoS Bypass UDP Blocking Bypass OpenVPN TCP over TCP problem OpenVPN over ICMP UDP to ICMP tunnel UDP to TCP tunnel UDP over ICMP UDP over TCP

البدء

التثبيت

قم بتنزيل الإصدار الثنائي من https://github.com/wangyu-/udp2raw-tunnel/releases

التشغيل

افترض أن UDP محظور أو يتعرض لـ QoS أو أنه ضعيف الدعم. افترض أن عنوان خادمك هو 44.55.66.77، ولديك خدمة تستمع على منفذ UDP 7777.

root@kitploit:~
# Run at server side:
./udp2raw_amd64 -s -l0.0.0.0:4096 -r 127.0.0.1:7777    -k "passwd" --raw-mode faketcp -a

# Run at client side
./udp2raw_amd64 -c -l0.0.0.0:3333  -r44.55.66.77:4096  -k "passwd" --raw-mode faketcp -a

(يجب تشغيل الأوامر أعلاه كجذر. للحصول على أمان أفضل، مع بعض الخطوات الإضافية، يمكنك تشغيل udp2raw كمستخدم غير جذر. راجع هذا الرابط لمزيد من المعلومات)

مخرجات الخادم:

مخرجات العميل:

الآن، تم إنشاء نفق خام مشفر بين العميل والخادم عبر منفذ TCP 4096. الاتصال بمنفذ UDP 3333 في جانب العميل يعادل الاتصال بالمنفذ 7777 في جانب الخادم. لن يتم كشف أي حركة مرور UDP.

ملاحظة

للتشغيل على Android، راجع دليل Android

الخيار -a يضيف تلقائيًا قاعدة iptables (أو بضع قواعد iptables) لك، يعتمد udp2raw على قاعدة iptables هذه للعمل بثبات. كن حريصًا على عدم نسيان -a (إنه خطأ شائع). إذا كنت لا تريد أن يقوم udp2raw بإضافة قاعدة iptables تلقائيًا، يمكنك إضافتها يدويًا (ألق نظرة على الخيار -g) وتجاهل -a.

موضوع متقدم

الاستخدام

root@kitploit:~
udp2raw-tunnel
git version:4623f878e0    build date:Nov  3 2024 23:15:46
repository: https://github.com/wangyu-/udp2raw-tunnel

usage:
    run as client : ./this_program -c -l local_listen_ip:local_port -r server_address:server_port  [options]
    run as server : ./this_program -s -l server_listen_ip:server_port -r remote_address:remote_port  [options]

common options,these options must be same on both side:
    --raw-mode            <string>        available values:faketcp(default),udp,icmp and easy-faketcp
    -k,--key              <string>        password to gen symetric key,default:"secret key"
    --cipher-mode         <string>        available values:aes128cfb,aes128cbc(default),xor,none
    --auth-mode           <string>        available values:hmac_sha1,md5(default),crc32,simple,none
    -a,--auto-rule                        auto add (and delete) iptables rule
    -g,--gen-rule                         generate iptables rule then exit,so that you can copy and
                                          add it manually.overrides -a
    --disable-anti-replay                 disable anti-replay,not suggested
    --fix-gro                             try to fix huge packet caused by GRO. this option is at an early stage.
                                          make sure client and server are at same version.
client options:
    --source-ip           <ip>            force source-ip for raw socket
    --source-port         <port>          force source-port for raw socket,tcp/udp only
                                          this option disables port changing while re-connecting
other options:
    --conf-file           <string>        read options from a configuration file instead of command line.
                                          check example.conf in repo for format
    --fifo                <string>        use a fifo(named pipe) for sending commands to the running program,
                                          check readme.md in repository for supported commands.
    --log-level           <number>        0:never    1:fatal   2:error   3:warn
                                          4:info (default)     5:debug   6:trace
    --log-position                        enable file name,function name,line number in log
    --disable-color                       disable log color
    --disable-bpf                         disable the kernel space filter,most time its not necessary
                                          unless you suspect there is a bug
    --dev                 <string>        bind raw socket to a device, not necessary but improves performance
    --sock-buf            <number>        buf size for socket,>=10 and <=10240,unit:kbyte,default:1024
    --force-sock-buf                      bypass system limitation while setting sock-buf
    --seq-mode            <number>        seq increase mode for faketcp:
                                          0:static header,do not increase seq and ack_seq
                                          1:increase seq for every packet,simply ack last seq
                                          2:increase seq randomly, about every 3 packets,simply ack last seq
                                          3:simulate an almost real seq/ack procedure(default)
                                          4:similiar to 3,but do not consider TCP Option Window_Scale,
                                          maybe useful when firewall doesnt support TCP Option
    --lower-level         <string>        send packets at OSI level 2, format:'if_name#dest_mac_adress'
                                          ie:'eth0#00:23:45:67:89:b9'.or try '--lower-level auto' to obtain
                                          the parameter automatically,specify it manually if 'auto' failed
    --wait-lock                           wait for xtables lock while invoking iptables, need iptables v1.4.20+
    --gen-add                             generate iptables rule and add it permanently,then exit.overrides -g
    --keep-rule                           monitor iptables and auto re-add if necessary.implys -a
    --hb-len              <number>        length of heart-beat packet, >=0 and <=1500
    --mtu-warn            <number>        mtu warning threshold, unit:byte, default:1375
    --clear                               clear any iptables rules added by this program.overrides everything
    --retry-on-error                      retry on error, allow to start udp2raw before network is initialized
    -h,--help                             print this help message

قواعد iptables، -a و -g

يرسل هذا البرنامج الحزم عبر raw socket. في وضع FakeTCP، يجب حظر معالجة حزم TCP بواسطة نواة Linux عبر قاعدة iptables على كلا الجانبين، وإلا سترسل النواة تلقائيًا RST لأي حزمة TCP غير معروفة وستعاني من مشاكل الاستقرار / الأداء. يمكنك استخدام الخيار -a للسماح للبرنامج بإضافة / حذف قاعدة iptules تلقائيًا عند البدء / الخروج. يمكنك أيضًا استخدام الخيار -g لإنشاء قاعدة iptables وإضافتها يدويًا.

--cipher-mode و --auth-mode

يُقترح استخدام aes128cbc + hmac_sha1 لتحقيق أقصى درجات الأمان. إذا كنت تريد تشغيل البرنامج على راوتر، يمكنك تجربة xor + simple، والتي يمكنها خداع فحص الحزم بواسطة جدران الحماية معظم الوقت، لكنها لا تستطيع حمايتك من الهجمات الجادة. الوضع none هو لأغراض التصحيح فقط. لا يُنصح بتعيين cipher-mode أو auth-mode إلى none.

--seq-mode

لا يتصرف وضع FakeTCP بنسبة 100% مثل اتصال TCP حقيقي. قد يتمكن مزودو خدمة الإنترنت من تمييز حركة مرور TCP المحاكاة عن حركة مرور TCP الحقيقية (على الرغم من أن ذلك مكلف). يمكن أن يساعدك seq-mode في تغيير سلوك زيادة seq قليلاً. إذا واجهت مشاكل في الاتصال، حاول تغيير القيمة.

--lower-level

يتيح لك --lower-level إرسال الحزمة على مستوى OSI 2 (مستوى الارتباط)، بحيث يمكنك تجاوز أي قواعد iptables محلية. إذا كانت لديك قواعد iptables معقدة تتعارض مع udp2raw ولا يمكنك (أو كنت كسولًا جدًا) تعديل قواعد iptables، فقد يكون --lower-level مفيدًا جدًا. جرب --lower-level auto للكشف التلقائي عن المعلمات، يمكنك تحديدها يدويًا إذا فشل auto.

التنسيق اليدوي if_name#dest_mac_adress، مثل: eth0#00:23:45:67:89:b9.

--keep-rule

مراقبة iptables وإعادة إضافة قواعد iptables تلقائيًا (لحظر معالجة kernel TCP) إذا لزم الأمر. مفيدة بشكل خاص عندما قد يتم مسح قواعد iptables بواسطة برامج أخرى (على سبيل المثال، إذا كنت تستخدم openwrt، في كل مرة تقوم فيها بتغيير إعداد وتأكيده، قد يتم مسح قواعد iptables وإعادة بنائها).

--conf-file

يمكنك أيضًا تحميل الخيارات من ملف تكوين للحفاظ على الأسرار بعيدًا عن أمر ps.

على سبيل المثال، أعد كتابة الخيارات لمثال server أعلاه (في قسم البدء) إلى ملف تكوين:

server.conf

root@kitploit:~
-s
# يمكنك إضافة تعليقات مثل هذه
# يجب أن تشغل التعليقات سطرًا كاملاً
# وإلا فلن تعمل كما هو متوقع
# عنوان الاستماع
-l 0.0.0.0:4096
# العنوان البعيد
-r 127.0.0.1:7777
-a
-k passwd
--raw-mode faketcp

انتبه إلى المعامل -k: في وضع سطر الأوامر، ستتم إزالة علامات الاقتباس حول كلمة المرور بواسطة الصدفة. في ملفات التكوين، لا نزيل علامات الاقتباس.

ثم ابدأ الخادم باستخدام

root@kitploit:~
./udp2raw_amd64 --conf-file server.conf

--fifo

استخدام fifo (أنبوب مسمى) لإرسال الأوامر إلى البرنامج قيد التشغيل. على سبيل المثال --fifo fifo.file.

في جانب العميل، يمكنك استخدام echo reconnect >fifo.file لإجبار العميل على إعادة الاتصال. حاليًا، لم يتم تنفيذ أي أمر للخادم.

اختبار الأداء

طريقة الاختبار:

iperf3 TCP عبر OpenVPN + udp2raw (لم يتم استخدام وضع iperf3 UDP بسبب خطأ مذكور في هذه المشكلة: https://github.com/esnet/iperf/issues/296. بدلاً من ذلك، نقوم بتغليف حركة مرور TCP في UDP عبر OpenVPN لاختبار الأداء. اقرأ التطبيق للحصول على التفاصيل.

أمر iperf3:

root@kitploit:~
iperf3 -c 10.222.2.1 -P40
iperf3 -c 10.222.2.1 -P40 -R

البيئات

  • العميل خطة Vultr الشهرية بقيمة $2.5 (معالج أحادي النواة بسرعة 2.4GHz، 512MB رام، طوكيو، اليابان)
  • الخادم خطة BandwagonHost السنوية بقيمة $3.99 (معالج أحادي النواة بسرعة 2.0GHz، 128MB رام، لوس أنجلوس، الولايات المتحدة الأمريكية)

الاختبار1

raw_mode: faketcp cipher_mode: xor  auth_mode: simple

image4

(السرعة العكسية كانت مشابهة ولم يتم رفعها)

الاختبار2

raw_mode: faketcp cipher_mode: aes128cbc  auth_mode: md5

image5

(السرعة العكسية كانت مشابهة ولم يتم رفعها)

ويكي

تحقق من الويكي لمزيد من المعلومات:

https://github.com/wangyu-/udp2raw-tunnel/wiki

تنزيل الأداة