dhcps - DHCP Listener
Publicado por henrique (última atualização em 04/10/2022)
[ Hits: 3.530 ]
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)
Peer-to-peer nós para processamento em multipontos
Ligando máquina pela rede usando Python
Aplicação gráfica para Wake-on-LAN com Python 3 + GUI Tk/Tcl
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta