dhcps - DHCP Listener
Publicado por henrique (última atualização em 04/10/2022)
[ Hits: 4.043 ]
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)
Envio de comandos por ssh sem troca de chaves a múltiplos servidores
verifySite - um verificador de sites
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 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
Como impedir exclusão de arquivos por outros usuários no (Linux)
Formas seguras de instalar Debian Sid (10)
Alguém executou um rm e quase mata a Pixar! (6)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









