Descubrimiento de red | Ruta de seguimiento | Escáner de puertos TCP y UDP
Este programa enumera todas las interfaces disponibles presentes en la máquina local y utiliza Scapy para identificar todas las máquinas en línea dentro de la LAN de la máquina local a las que se puede acceder a través de cada una de las interfaces no virtuales de la máquina local. Para lograr esto, este programa crea una trama ethernet que encapsula un paquete ARP. La trama Ethernet tiene su dirección de destino configurada en la dirección de transmisión, mientras que el paquete ARP tiene la dirección de subred del host local junto con la notación CIDR. Finalmente, Scapy crea una lista de paquetes ARP que se transmiten a cada dirección IP en la subred e imprime las direcciones MAC e IP de las máquinas en línea que envían una respuesta al host local.
Este programa traceroute acepta la dirección IP de destino o el nombre de host del usuario e identifica las direcciones IP o posibles nombres de host de todas las máquinas intermediarias entre el origen y el destino. Primero, esta herramienta identifica si el usuario ha ingresado una dirección IP o nombre de host y encuentra el nombre de host o dirección IP respectivo en consecuencia. A continuación, crea un datagrama IP que encapsula un paquete UDP con puertos de destino aleatorios en el rango de 33434 - 33464 junto con un número elevado de puertos de origen aleatorios. La dirección IP de destino la proporciona directamente el usuario o se obtiene utilizando el nombre de host proporcionado por el usuario a través de Scapy. El salto máximo se establece en 20 y el TTL aumenta de acuerdo con el número de salto actual para que se puedan descubrir todas las máquinas intermediarias en la ruta con una distancia menor o igual a 20 saltos. Finalmente, envía y recibe los paquetes de un salto al siguiente e informa el nombre de host y la dirección IP presentes en el paquete de respuesta. Si un paquete no se reconoce dentro del tiempo de espera esperado de 3 segundos, el paquete se envía una vez más. De lo contrario, se imprime un '*'. El programa se detiene tan pronto como recibe un mensaje de puerto ICMP inalcanzable (tipo 3) del destino, lo que significa que el paquete ha llegado al destino y que el puerto de destino ya no está abierto.
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)
Distribuido bajo la licencia MIT.