dhcps - DHCP Listener
Publicado por henrique (última atualização em 04/10/2022)
[ Hits: 3.873 ]
Homepage: naotem.com
Um scanner DHCP feito com scrapy que verifica conexões na rede e pega algumas informações com endereço MAC.
Um teste prático é iniciá-lo na sua rede e desconectar um dispositivo, como por exemplo seu celular e reconctá-lo que a magica acontece.
Nunca use para meios ilegais!
#!/bin/python3 from scapy.all import * import time red = "\033[1;31m" blue = "\033[1;34m" cyan = "\033[1;36m" green = "\033[0;32m" reset = "\033[0;0m" bold = "\033[;1m" reverse = "\033[;7m" branco = "\033[37m" gray = "\033[0;37m" orange = "\033[0;49;33m" yellow = "\033[0;49;93m" def init(): print('-'*66) print(yellow, """\n\n .sSSSSs. .sSSS SSSSS .sSSSSs. .sSSSSs. .sSSSSs. SSSSSSSSSs. SSSSS SSSSS SSSSSSSSSs. SSSSSSSSSs. SSSSSSSSSs. S SSS SSSSS S SSS SSSSS S SSS SSSSS S SSS SSSSS S SSS SSSS' S SS SSSSS S SS SSSSS S SS SSSS' S SS SSSSS S SS S..SS SSSSS S..SSsSSSSS S..SS S..SS SSSSS `SSSSsSSSa. S:::S SSSSS S:::S SSSSS S:::S SSSSS S:::SsSSSSS .sSSS SSSSS S;;;S SSSSS S;;;S SSSSS S;;;S SSSSS S;;;S S;;;S SSSSS S%%%S SSSS' S%%%S SSSSS S%%%S SSSSS S%%%S S%%%S SSSSS SSSSSsS;:' SSSSS SSSSS SSSSSsSSSSS SSSSS SSSSSsSSSSS\n\n""", reset) def listen_dhcp(): # Make sure it is DHCP with the filter options sniff(prn=print_packet, filter='udp and (port 67 or port 68)') def print_packet(packet): # initialize these variables to None at first target_mac, requested_ip, hostname, vendor_id = [None] * 4 # get the MAC address of the requester if packet.haslayer(Ether): target_mac = packet.getlayer(Ether).src # get the DHCP options dhcp_options = packet[DHCP].options for item in dhcp_options: try: label, value = item except ValueError: continue if label == 'requested_addr': # get the requested IP requested_ip = value elif label == 'hostname': # get the hostname of the device hostname = value.decode() elif label == 'vendor_class_id': # get the vendor ID vendor_id = value.decode() if target_mac and vendor_id and hostname and requested_ip: # if all variables are not None, print the device details time_now = time.strftime("[%H:%M:%S]") print(red,f"| {time_now} : {target_mac} - {hostname} / {vendor_id} requested {requested_ip} | -**-", reset) print(blue, '| | -**-', reset) if __name__ == "__main__": init() listen_dhcp() print('-'*66)
B.S.A.N.S. - Break Security - Automated Network Scanner [PARTE 1]
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)