dhcps - DHCP Listener
Publicado por henrique (última atualização em 04/10/2022)
[ Hits: 3.764 ]
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)
Script para Scanner servidor e encontrar portas abertas
Shell reverso em Python - cliente
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Copiar Layout do Teclado para aplicar em outra Distribuição (4)
QUERO USAR ABNT 2 NO LINUX MINT (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (32)