การค้นพบเครือข่าย | Traceroute | เครื่องสแกนพอร์ต TCP และ UDP
โปรแกรมนี้แสดงรายการอินเทอร์เฟซที่มีอยู่ทั้งหมดที่มีอยู่ในเครื่องท้องถิ่น และใช้ Scapy เพื่อระบุเครื่องออนไลน์ทั้งหมดภายใน LAN ของเครื่องท้องถิ่น ซึ่งสามารถเข้าถึงได้ผ่านอินเทอร์เฟซที่ไม่ใช่เสมือนของเครื่องท้องถิ่นแต่ละเครื่อง เพื่อให้บรรลุเป้าหมายนี้ โปรแกรมนี้จะสร้างเฟรมอีเธอร์เน็ตที่ห่อหุ้มแพ็กเก็ต ARP เฟรมอีเธอร์เน็ตมีที่อยู่ปลายทางที่ตั้งค่าเป็นที่อยู่ออกอากาศในขณะที่แพ็กเก็ต ARP มีที่อยู่เครือข่ายย่อยของโฮสต์ท้องถิ่นพร้อมกับสัญลักษณ์ CIDR ในที่สุด Scapy จะสร้างรายการแพ็กเก็ต ARP ที่ออกอากาศไปยังทุกที่อยู่ IP ในเครือข่ายย่อยและพิมพ์ที่อยู่ MAC และ IP ของเครื่องออนไลน์ซึ่งส่งการตอบกลับกลับไปยัง localhost
โปรแกรมติดตามนี้ยอมรับที่อยู่ 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)
เผยแพร่ภายใต้ใบอนุญาต MIT