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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sx — :vulcan_salute: ماسح شبكات سريع وحديث وسهل الاستخدام | Kitploit
أدوات/GitHubGitHub/v-byte-cpu/sx
الاستطلاعتخطيط الشبكةمسح المنافذجمع المعلوماتاختبار الاختراق
GitHubv-byte-cpu/sx

sx

🖖 ماسح شبكات سريع وحديث وسهل الاستخدام

عرض المستودع
1.6k10862منذ 27 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

sx

License Build Status GoReportCard Status Platform

sx هو ماسح شبكات يعمل عبر واجهة الأوامر، مصمم لاتباع فلسفة UNIX.

الهدف من هذا المشروع هو إنشاء أسرع ماسح شبكات مع كود نظيف وبسيط.

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

  • الميزات
  • التثبيت
  • البناء من المصدر
  • البدء السريع
  • المراجع
  • المساهمة
  • الائتمانات
  • الترخيص

✨ الميزات

  • ⚡ أسرع بـ 30 مرة من nmap
  • مسح ARP: امسح شبكاتك المحلية لاكتشاف الأجهزة النشطة
  • مسح ICMP: استخدم تقنيات مسح ICMP المتقدمة لاكتشاف المضيفين النشطين وقواعد جدران الحماية
  • مسح TCP SYN: المسح التقليدي نصف المفتوح لاكتشاف منافذ TCP المفتوحة
  • مسوحات TCP FIN / NULL / Xmas: تقنيات مسح لتجاوز بعض قواعد جدران الحماية
  • مسوحات TCP مخصصة مع أي أعلام TCP: أرسل أي حزم غريبة تريدها واحصل على نتيجة تحتوي على جميع أعلام TCP المضبوطة في حزمة الرد
  • مسح UDP: امسح منافذ UDP واحصل على ردود ICMP كاملة لاكتشاف المنافذ المفتوحة أو قواعد جدران الحماية
  • مسوحات التطبيقات:
    • مسح SOCKS5: اكتشف وكلاء SOCKS5 النشطين عن طريق مسح نطاق IP أو قائمة أزواج ip/port من ملف
  • التكرار العشوائي عبر عناوين IP باستخدام مجموعات ضرب دورية محدودة
  • دعم مخرجات JSON: صُمم sx خصيصًا لمعالجة النتائج الآلية المريحة

📦 التثبيت

أبسط طريقة هي التحميل من إصدارات GitHub ووضع الملف القابل للتنفيذ في مسار PATH الخاص بك.

🛠 البناء من المصدر

المتطلبات:

  • Go 1.25 أو أحدث
  • libpcap (مثبت مسبقًا إذا كنت تستخدم wireshark)

على macOS، قم بتثبيت أدوات سطر الأوامر Xcode أولاً حتى يتمكن CGO من الربط مع libpcap الخاص بالنظام:

root@kitploit:~
xcode-select --install

من جذر شجرة المصدر، قم بتشغيل:

root@kitploit:~
go build

🚀 البدء السريع

فيما يلي أمثلة سريعة توضح كيف يمكنك مسح الشبكات باستخدام sx.

مسح ARP

امسح شبكتك المحلية واعرض عنوان IP وعنوان MAC والشركة المصنعة للأجهزة المتصلة:

root@kitploit:~
sx arp 192.168.0.1/24

مثال على الإخراج:

root@kitploit:~
192.168.0.1          b0:be:76:40:05:8d    TP-LINK TECHNOLOGIES CO.,LTD.
192.168.0.111        80:c5:f2:0b:02:e3    AzureWave Technology Inc.
192.168.0.171        88:53:95:2d:3c:af    Apple, Inc.

مع مخرجات JSON:

root@kitploit:~
sx arp --json 192.168.0.1/24

مثال على الإخراج:

root@kitploit:~
{"ip":"192.168.0.1","mac":"b0:be:76:40:05:8d","vendor":"TP-LINK TECHNOLOGIES CO.,LTD."}
{"ip":"192.168.0.111","mac":"80:c5:f2:0b:02:e3","vendor":"AzureWave Technology Inc."}
{"ip":"192.168.0.171","mac":"88:53:95:2d:3c:af","vendor":"Apple, Inc."}

انتظر 5 ثوانٍ قبل الخروج لاستقبال حزم الرد المتأخرة، بشكل افتراضي ينتظر sx 300 مللي ثانية:

root@kitploit:~
sx arp --exit-delay 5s 192.168.0.1/24

وضع المسح المباشر الذي يعيد مسح الشبكة كل 10 ثوانٍ:

root@kitploit:~
sx arp 192.168.0.1/24 --live 10s

مسح TCP

على عكس nmap والماسحات الضوئية الأخرى التي تقوم ضمنيًا بإجراء طلبات ARP لتحويل عناوين IP إلى عناوين MAC قبل المسح الفعلي، يستخدم sx مفهوم ذاكرة التخزين المؤقت ARP بشكل صريح. ملف ذاكرة التخزين المؤقت ARP هو ملف نصي بسيط يحتوي على سلسلة JSON في كل سطر (ملف JSONL)، والذي يحتوي على نفس حقول JSON مثل مخرجات مسح ARP الموضحة أعلاه. تقرأ مسوحات البروتوكولات الأعلى مستوى مثل TCP و UDP ملف ذاكرة التخزين المؤقت ARP من الإدخال القياسي ثم تبدأ المسح الفعلي.

هذا لا يبسط تصميم البرنامج فحسب، بل يسرع أيضًا عملية المسح، حيث ليس من الضروري إجراء مسح ARP في كل مرة.

لنفترض أن ذاكرة التخزين المؤقت ARP الفعلية موجودة في ملف arp.cache. يمكننا إنشاؤها يدويًا أو استخدام مسح ARP كما هو موضح أدناه:

root@kitploit:~
sx arp 192.168.0.1/24 --json | tee arp.cache

بمجرد أن نحصل على ملف ذاكرة التخزين المؤقت ARP، يمكننا تشغيل مسوحات البروتوكولات الأعلى مستوى مثل مسح TCP SYN:

root@kitploit:~
cat arp.cache | sx tcp -p 1-65535 192.168.0.171

مثال على الإخراج:

root@kitploit:~
192.168.0.171        22
192.168.0.171        443

في هذه الحالة نكتشف أن المنفذين 22 و 443 مفتوحان.

إذا رأيت send: No buffer space available أثناء عمليات المسح الكبيرة، فهذا يعني عادةً أن المرسل يتجاوز مخازن النواة/raw-socket المؤقتة. الإصلاح الأول هو إضافة --rate وتقليل دفعة الإرسال، على سبيل المثال -r 100000/s أو أقل إذا لزم الأمر. على بعض الأنظمة، يمكن أن يساعد ضبط حدود مقبس/مخزن النظام المؤقت أيضًا، ولكن تحديد المعدل هو الإصلاح الأساسي.

مسح بمخرجات JSON:

root@kitploit:~
cat arp.cache | sx tcp  --json -p 1-65535 192.168.0.171

مثال على الإخراج:

root@kitploit:~
{"scan":"tcpsyn","ip":"192.168.0.171","port":22}
{"scan":"tcpsyn","ip":"192.168.0.171","port":443}

مسح نطاقات منافذ متعددة:

root@kitploit:~
cat arp.cache | sx tcp -p 1-23,25-443 192.168.0.171

أو منافذ فردية:

root@kitploit:~
cat arp.cache | sx tcp -p 22,443 192.168.0.171

أو استخدم خيار --ports-file لتحديد ملف يحتوي على منافذ أو نطاقات منافذ لمسحها، سطر واحد لكل منها.

مسح أزواج ip/port من ملف بمخرجات JSON:

root@kitploit:~
cat arp.cache | sx tcp --json -f ip_ports_file.jsonl

كل سطر من ملف الإدخال هو سلسلة JSON، يجب أن تحتوي على حقلي ip و port.

ملف إدخال مثال:

root@kitploit:~
{"ip":"10.0.1.1","port":1080}
{"ip":"10.0.2.2","port":1081}

من الممكن تحديد ملف ذاكرة التخزين المؤقت ARP باستخدام الخيارين -a أو --arp-cache:

root@kitploit:~
sx tcp -a arp.cache -p 22,443 192.168.0.171

أو إعادة توجيه الإدخال القياسي:

root@kitploit:~
sx tcp -p 22,443 192.168.0.171 < arp.cache

يمكنك أيضًا استخدام الأمر الفرعي tcp syn بدلاً من tcp:

root@kitploit:~
cat arp.cache | sx tcp syn -p 22 192.168.0.171

الأمر الفرعي tcp هو مجرد اختصار للأمر الفرعي tcp syn ما لم يتم تمرير خيار --flags، انظر أدناه.

واجهات VPN

يدعم sx المسح باستخدام واجهات الشبكة الافتراضية (wireguard, openvpn, إلخ) وفي هذه الحالة ليس من الضروري استخدام ذاكرة التخزين المؤقت ARP، لأن هذه الواجهات تتطلب حزم IP خام بدلاً من إطارات Ethernet كمدخل. على سبيل المثال، مسح عنوان IP على شبكة vpn:

root@kitploit:~
sx tcp 10.1.27.1 -p 80 --json

مسح TCP FIN

تحاول معظم ماسحات الشبكة تفسير نتائج المسح. على سبيل المثال تقول "هذا المنفذ مغلق" بدلاً من "تلقيت RST". أحيانًا تكون على حق. وأحيانًا لا. هذا أسهل للمبتدئين، ولكن عندما تعرف ما تفعله، تستمر في محاولة استنتاج ما حدث بالفعل من تفسير البرنامج، خاصةً لتقنيات المسح الأكثر تقدمًا.

يحاول sx التغلب على هذه المشكلات. فهو يعيد معلومات حول جميع حزم الرد الخاصة بمسوحات TCP FIN و NULL و Xmas ومسوحات TCP المخصصة. تحتوي المعلومات على عنوان IP ومنفذ TCP وجميع أعلام TCP المضبوطة في حزمة الرد.

يستغل مسح TCP FIN وأشكاله الأخرى (NULL و Xmas) القسم 3.9 من RFC793:

وصول القطعة

إذا كانت الحالة CLOSED (أي TCB غير موجود) فإن

root@kitploit:~
 يتم التخلص من جميع البيانات في القطعة الواردة.  يتم التخلص من القطعة الواردة التي تحتوي على RST.
 القطعة الواردة التي لا تحتوي على RST تتسبب في إرسال RST كرد.  يتم اختيار قيم حقل الإقرار والتسلسل لجعل تسلسل إعادة التعيين مقبولاً لـ TCP الذي أرسل القطعة المخالفة.

لذا يجب أن يعيد المنفذ المغلق حزمة مع علامة RST.

ينص هذا القسم أيضًا على:

إذا كانت الحالة LISTEN فإن

...

أي قطعة تحكم أو تحمل نصًا أخرى (لا تحتوي على SYN) يجب أن تحتوي على ACK وبالتالي سيتم تجاهلها بواسطة معالجة ACK. لا يمكن أن تكون قطعة RST الواردة صالحة، حيث لا يمكن إرسالها ردًا على أي شيء أرسله هذا التجسيد للاتصال. لذا من غير المحتمل أن تصل إلى هنا، ولكن إذا وصلت، فقم بإسقاط القطعة، ثم ارجع.

العبارة الرئيسية هنا: إسقاط القطعة، ثم ارجع. لذا فإن المنفذ المفتوح على معظم أنظمة التشغيل سيسقط حزمة TCP التي تحتوي على أي أعلام باستثناء SYN و ACK و RST.

دعنا نمسح بعض المنفذ المغلق بمسح TCP FIN:

root@kitploit:~
cat arp.cache | sx tcp fin --json -p 23 192.168.0.171

مثال على الإخراج:

root@kitploit:~
{"scan":"tcpfin","ip":"192.168.0.171","port":23,"flags":"ar"}

يحتوي حقل flags على جميع أعلام TCP في حزمة الرد، حيث يمثل كل حرف أحد أعلام TCP:

  • s - علم SYN
  • a - علم ACK
  • f - علم FIN
  • r - علم RST
  • p - علم PSH
  • u - علم URG
  • e - علم ECE
  • c - علم CWR
  • n - علم NS

في هذه الحالة نكتشف أن المنفذ 23 أرسل حزمة رد مع أعلام ACK و RST مضبوطة (استجابة نموذجية لمنفذ مغلق وفقًا لـ RFC793).

إذا قمنا بمسح منفذ مفتوح، فلن نحصل على رد (ما لم يكن جدار الحماية يزور الردود).

يمكن إجراء أنواع أخرى من مسوحات TCP بالقياس.

مسح TCP NULL:

root@kitploit:~
cat arp.cache | sx tcp null --json -p 23 192.168.0.171

مسح TCP Xmas:

root@kitploit:~
cat arp.cache | sx tcp xmas --json -p 23 192.168.0.171

مسوحات TCP مخصصة

من الممكن إرسال حزم TCP بأعلام TCP مخصصة باستخدام خيار --flags.

دعنا نرسل حزمة TCP مع أعلام SYN و FIN و ACK مضبوطة لبصمة نظام التشغيل البعيد:

root@kitploit:~
cat arp.cache | sx tcp --flags syn,fin,ack --json -p 23 192.168.0.171

لن تستجيب Windows و MacOS لهذه الحزمة، لكن Linux سيرسل حزمة رد مع علامة RST.

الوسائط الممكنة لخيار --flags:

  • syn - علم SYN
  • ack - علم ACK
  • fin - علم FIN
  • rst - علم RST
  • psh - علم PSH
  • urg - علم URG
  • ece - علم ECE
  • cwr - علم CWR
  • ns - علم NS

مسح UDP

يمكن أن يساعد sx في التحقق من منافذ UDP المفتوحة. يستغل مسح UDP القسم 4.1.3.1 من RFC1122:

إذا وصلت رزمة بيانات موجهة إلى منفذ UDP لا يوجد له استدعاء LISTEN معلق، فيجب على UDP إرسال رسالة ICMP Port Unreachable.

على غرار مسوحات TCP، يعيد sx معلومات حول جميع حزم ICMP الردية لمسح UDP. تحتوي المعلومات على عنوان IP ونوع حزمة ICMP والرمز المضبوط في حزمة الرد.

على سبيل المثال، لاكتشاف خادم DNS على مضيف، قم بتشغيل:

root@kitploit:~
cat arp.cache | sx udp --json -p 53 192.168.0.171

مثال على الإخراج:

root@kitploit:~
{"scan":"udp","ip":"192.168.0.171","icmp":{"type":3,"code":3}}

في هذه الحالة نكتشف أن المضيف أرسل حزمة رد ICMP بنوع Destination Unreachable ورمز Port Unreachable (استجابة نموذجية لمنفذ مغلق وفقًا لـ RFC1122).

عادةً ما تقوم جدران الحماية بتعيين رمز ICMP مختلف عن Port Unreachable وبالتالي يمكن اكتشافها بسهولة.

تحديد المعدل

في بعض الأحيان تحتاج إلى الحد من السرعة التي يتم بها إرسال الحزم المُنشأة. يمكن القيام بذلك باستخدام خيار --rate.

على سبيل المثال، للحد من السرعة إلى حزمة واحدة كل 5 ثوانٍ:

root@kitploit:~
cat arp.cache | sx tcp --rate 1/5s --json -p 22,80,443 192.168.0.171

استبعاد الشبكات الفرعية

في بعض الأحيان تحتاج إلى استبعاد بعض عناوين IP والشبكات الفرعية من المسح. يمكن القيام بذلك باستخدام خيار --exclude. يحدد ملفًا يحتوي على عناوين IP أو شبكات فرعية بترميز CIDR لاستبعادها، سطر واحد لكل منها.

على سبيل المثال، لاستبعاد عناوين RFC 1918، أنشئ ملفًا ips.txt بالمحتوى التالي:

root@kitploit:~
10.0.0.0/8
172.16.0.0/16
192.168.0.0/16

يمكنك أيضًا إدراج تعليقات وأسطر فارغة:

root@kitploit:~
# استبعاد عناوين RFC 1918
10.0.0.0/8 # تعليق 1
172.16.0.0/12 # تعليق 2
192.168.0.0/16 # تعليق 3

0.0.0.0/8 # تستخدم في إجراءات التهيئة (RFC 6890)

# استبعاد عناوين RFC 5735
127.0.0.0/8 # عنوان الاسترجاع
192.0.0.0/24 # كتلة محجوزة لتعيينات بروتوكول IETF
224.0.0.0/4 # مخصصة للاستخدام في تعيينات عناوين IPv4 المتعددة
240.0.0.0/4 # محجوزة للاستخدام المستقبلي

# استبعاد شبكة Amazon
3.0.0.0/8

# عناوين IP صالحة أيضًا
1.1.1.1

وقم بتشغيل مسح مع خيار --exclude ips.txt.

ماسح TCP SYN الحي للشبكة المحلية

كمثال على تكوين المسح، يمكنك الجمع بين مسح ARP و TCP SYN لإنشاء ماسح منفذ TCP حي يمسح شبكة LAN بأكملها بشكل دوري.

ابدأ مسح ARP الحي واحفظ النتائج في ملف arp.cache:

root@kitploit:~
sx arp 192.168.0.1/24 --live 10s --json | tee arp.cache

في محطة طرفية أخرى، ابدأ مسح TCP SYN:

root@kitploit:~
while true; do sx tcp -p 1-65535 -a arp.cache -f arp.cache; sleep 30; done

مسح SOCKS5

يمكن لـ sx اكتشاف وكلاء SOCKS5 النشطين. للمسح، يجب عليك تحديد نطاق IP أو ملف JSONL بأزواج ip/port.

على سبيل المثال، مسح نطاق IP:

root@kitploit:~
sx socks -p 1080 10.0.0.1/16

مسح أزواج ip/port من ملف بمخرجات JSON:

root@kitploit:~
sx socks --json -f ip_ports_file.jsonl 

كل سطر من ملف الإدخال هو سلسلة JSON، يجب أن تحتوي على حقلي ip و port.

ملف إدخال مثال:

root@kitploit:~
{"ip":"10.0.1.1","port":1080}
{"ip":"10.0.2.2","port":1081}

يمكنك أيضًا تحديد نطاق من المنافذ لمسحها:

root@kitploit:~
sx socks -p 1080-4567 -f ips_file.jsonl

في هذه الحالة، سيتم أخذ عناوين IP فقط من الملف ولم يعد حقل port ضروريًا.

المساعدة في الاستخدام

root@kitploit:~
sx help

📜 المراجع

  • Network Security Assessment: Know Your Network 1st Edition by Chris McNab
  • ICMP Usage in Scanning - The Complete Know-How by Ofir Arkin
  • Transmission Control Protocol ( rfc793 )
  • User Datagram Protocol ( rfc768 )
  • Requirements for Internet Hosts -- Communication Layers ( rfc1122 )
  • SOCKS Protocol Version 5 ( rfc1928 )
  • Internet Control Message Protocol ( rfc792 )

🤝 المساهمة

المساهمات والمشكلات وطلبات الميزات مرحب بها.

💎 الائتمانات

الشعار من تصميم mikhailtsoy.com

الترخيص

هذا المشروع مرخص بموجب رخصة MIT. راجع ملف LICENSE للحصول على النص الكامل للترخيص.

تنزيل الأداة