Descoberta de rede | Trace rota | Scanner de portas TCP e UDP
Este programa lista todas as interfaces disponíveis presentes na máquina local e usa Scapy para identificar todas as máquinas online na LAN da máquina local que são acessíveis através de cada uma das interfaces não virtuais da máquina local. Para conseguir isso, este programa cria um quadro Ethernet que encapsula um pacote ARP. O quadro Ethernet tem seu endereço de destino definido como o endereço de broadcast, enquanto o pacote ARP tem o endereço de sub-rede do host local junto com a notação CIDR. Finalmente, o Scapy cria uma lista de pacotes ARP que são transmitidos para cada endereço IP na sub-rede e imprime os endereços MAC e IP das máquinas online que enviam uma resposta de volta ao host local.
Este programa traceroute aceita o endereço IP de destino ou nome de host do usuário e identifica os endereços IP ou possíveis nomes de host de todas as máquinas intermediárias entre a origem e o destino. Primeiro, esta ferramenta identifica se o usuário inseriu um endereço IP ou nome de host e encontra o respectivo nome de host ou endereço IP de acordo. Em seguida, ele cria um datagrama IP encapsulando um pacote UDP com portas de destino aleatórias no intervalo de 33.434 a 33.464, juntamente com portas de origem de números altos aleatórios. O endereço IP de destino é fornecido diretamente pelo usuário ou obtido usando o nome do host fornecido pelo usuário via Scapy. O salto máximo é definido como 20 e o TTL aumenta de acordo com o número de salto atual para que todas as máquinas intermediárias no caminho com uma distância menor ou igual a 20 saltos possam ser descobertas. Finalmente, ele envia e recebe os pacotes de um salto para o próximo e informa o nome do host e o endereço IP presentes no pacote de resposta. Se um pacote não for reconhecido dentro do tempo limite esperado de 3 segundos, o pacote será enviado mais uma vez. Caso contrário, um '*' será impresso. O programa para assim que recebe uma mensagem ICMP Port Unreachable (tipo 3) do destino, o que significa que o pacote atingiu o destino e a porta de destino não está mais aberta.
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)
Distribuído sob a licença MIT.