Netzwerkerkennung | Traceroute | TCP- und UDP-Port-Scanner
Dieses Programm listet alle verfügbaren Schnittstellen auf, die auf dem lokalen Computer vorhanden sind, und verwendet Scapy, um alle Online-Computer im LAN des lokalen Computers zu identifizieren, auf die über jede der nicht virtuellen Schnittstellen des lokalen Computers zugegriffen werden kann. Um dies zu erreichen, erstellt dieses Programm einen Ethernet-Frame, der ein ARP-Paket kapselt. Die Zieladresse des Ethernet-Frames ist auf die Broadcast-Adresse eingestellt, während das ARP-Paket die Subnetzadresse des lokalen Hosts zusammen mit der CIDR-Notation enthält. Schließlich erstellt Scapy eine Liste von ARP-Paketen, die an jede IP-Adresse im Subnetz gesendet werden, und gibt die MAC- und IP-Adressen der Online-Maschinen aus, die eine Antwort an den Localhost zurücksenden.
Dieses Traceroute-Programm akzeptiert entweder die Ziel-IP-Adresse oder den Hostnamen des Benutzers und identifiziert die IP-Adressen oder möglichen Hostnamen aller zwischengeschalteten Maschinen zwischen Quelle und Ziel. Zunächst erkennt dieses Tool, ob der Benutzer eine IP-Adresse oder einen Hostnamen eingegeben hat, und findet entsprechend den entsprechenden Hostnamen oder die entsprechende IP-Adresse. Als nächstes wird ein IP-Datagramm erstellt, das ein UDP-Paket mit zufälligen Zielports im Bereich von 33434 bis 33464 zusammen mit zufälligen Quellports mit hoher Anzahl kapselt. Die IP-Zieladresse wird entweder direkt vom Benutzer angegeben oder mithilfe des vom Benutzer über Scapy angegebenen Hostnamens ermittelt. Der maximale Hop ist auf 20 eingestellt und die TTL erhöht sich entsprechend der aktuellen Hop-Anzahl, sodass alle zwischengeschalteten Maschinen im Pfad mit einer Entfernung kleiner oder gleich 20 Hops erkannt werden können. Schließlich sendet und empfängt es die Pakete von einem Hop zum nächsten und meldet den Hostnamen und die IP-Adresse, die im Antwortpaket vorhanden sind. Wenn ein Paket nicht innerhalb der erwarteten Zeitüberschreitung von 3 Sekunden bestätigt wird, wird das Paket noch einmal gesendet. Andernfalls wird ein „*“ gedruckt. Das Programm stoppt, sobald es eine ICMP-Port-Unreachable-Meldung (Typ 3) vom Ziel empfängt, die anzeigt, dass das Paket das Ziel erreicht hat und der Zielport nicht mehr geöffnet ist.
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)
Verteilt unter der MIT-Lizenz.