dhcps - DHCP Listener
Publicado por henrique (última atualização em 04/10/2022)
[ Hits: 4.044 ]
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)
auth_ig.py: Script para autenticação do IG
Scanner Wifi in Python [very simple and helpful]
ArpRequest - requisição arp para endereço físico
Importar múltiplos hosts ZABBIX
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









