اكتشاف الشبكة | تتبع المسار | الماسح الضوئي لمنفذ TCP وUDP
يسرد هذا البرنامج جميع الواجهات المتاحة الموجودة في الجهاز المحلي ويستخدم Scapy لتحديد جميع الأجهزة المتصلة بالإنترنت داخل الشبكة المحلية للجهاز المحلي والتي يمكن الوصول إليها من خلال كل واجهة من الواجهات غير الافتراضية للجهاز المحلي. ولتحقيق ذلك، يقوم هذا البرنامج بإنشاء إطار إيثرنت يحتوي على حزمة ARP. يحتوي إطار Ethernet على عنوان الوجهة الخاص به مضبوطًا على عنوان البث بينما تحتوي حزمة ARP على عنوان الشبكة الفرعية للمضيف المحلي بالإضافة إلى تدوين CIDR. أخيرًا، يقوم Scapy بإنشاء قائمة بحزم ARP التي يتم بثها إلى كل عنوان IP في الشبكة الفرعية ويطبع عناوين MAC وIP الخاصة بالأجهزة عبر الإنترنت التي ترسل ردًا مرة أخرى إلى المضيف المحلي.
يقبل برنامج التتبع هذا إما عنوان IP الوجهة أو اسم المضيف من المستخدم ويحدد عناوين IP أو أسماء المضيفين المحتملة لجميع الأجهزة الوسيطة بين المصدر والوجهة. أولاً، تحدد هذه الأداة ما إذا كان المستخدم قد أدخل عنوان IP أو اسم المضيف وتبحث عن اسم المضيف أو عنوان IP المعني وفقًا لذلك. بعد ذلك، يقوم بإنشاء مخطط بيانات IP يحتوي على حزمة UDP بمنافذ وجهة عشوائية في نطاق 33434 - 33464 بالإضافة إلى منافذ مصدر عشوائية ذات أرقام عالية. يتم توفير عنوان وجهة IP مباشرة من قبل المستخدم أو يتم الحصول عليه باستخدام اسم المضيف الذي يقدمه المستخدم عبر Scapy. يتم تعيين الحد الأقصى للقفزة على 20 وتزداد TTL وفقًا لرقم القفزة الحالي بحيث يمكن اكتشاف جميع الأجهزة الوسيطة في المسار بمسافة أقل من أو تساوي 20 قفزة. وأخيرًا، يرسل ويستقبل الحزم من خطوة إلى أخرى ويبلغ عن اسم المضيف وعنوان IP الموجود في حزمة الاستجابة. إذا لم يتم الإقرار بالحزمة خلال المهلة المتوقعة البالغة 3 ثوانٍ، فسيتم إرسال الحزمة مرة أخرى. وبخلاف ذلك، تتم طباعة "*". يتوقف البرنامج بمجرد تلقي رسالة ICMP Port Unreachable (النوع 3) من الهدف والتي تشير إلى أن الحزمة قد وصلت إلى الوجهة وأن منفذ الوجهة لم يعد مفتوحًا.
usage: ./networkdiscovery.py [-h] [--version]
Network Discovery
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
usage: ./traceroute.py [-h] [--version] [--target TARGET]
Traceroute
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
--target TARGET Hostname or IP
usage: ./portscanner.py [-h] [--version] [--target TARGET] [--port PORT] [--tcp | --udp] [--verbose]
Port Scanner
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
--target TARGET Hostname or IP to scan
--port PORT Port [X] or Port Range [X-Y] to scan
--tcp TCP port scan (mutually exclusive with --udp)
--udp UDP port scan (mutually exclusive with --tcp)
--verbose Verbose output (Print all ports, not just open ports)
وزعت بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.