
Analizador y sniffer de tráfico DNS para monitorizar, filtrar y detectar anomalías en consultas DNS. Las características incluyen exportación PCAP, soporte para DoH y un modo cortafuegos DNS para identificar intentos de suplantación.
DNSWatch es una potente herramienta de captura de paquetes diseñada para monitorear y analizar el tráfico DNS (Sistema de Nombres de Dominio) en una red. Este script ofrece un conjunto completo de funcionalidades para ayudar a los usuarios a comprender y gestionar la actividad DNS de manera eficiente. Ya sea que seas un administrador de redes, un profesional de ciberseguridad o un entusiasta curioso, DNSWatch te permite obtener información sobre las solicitudes DNS, detectar anomalías y mejorar la seguridad de la red.
git clone https://github.com/HalilDeniz/DNSWatch.git
pip install -r requirements.txt
$ python3 dnswatch.py [-h] [-i INTERFACE] [-v] [-t TARGET_IP] [-d] [--doh] [-D TARGET_DOMAINS [TARGET_DOMAINS ...]] [-p FILTER_PORT] [-s FILTER_SRC_IP] [-r FILTER_DST_IP] [--dns-type DNS_TYPE] [--pcap-file PCAP_FILE] [--firewall] [--threshold THRESHOLD] [--window-size WINDOW_SIZE] [--version]```
-i, --interface: Se utiliza para especificar la interfaz de red en la que escuchar. Por ejemplo: -i eth0-v, --verbose: Usa esta opción para obtener una salida detallada.-t, --target-ip: Se utiliza para especificar una dirección IP específica a monitorear. Por ejemplo: -t 8.8.8.8-d, --analyze-dns-type: Usa esta opción para analizar tipos DNS.--doh: Usa DNS sobre HTTPS (DoH) para la resolución DNS.-D, --target-domains: Se utiliza para especificar los dominios objetivo a monitorear. Acepta una lista separada por espacios de múltiples nombres de dominio. Por ejemplo: -D example.com example.org-p, --filter-port: Usa esta opción seguida de un número de puerto para filtrar por un puerto específico. Por ejemplo: -p 53-s, --filter-src-ip: Usa esta opción para filtrar por una dirección IP de origen específica. Por ejemplo: -s 192.168.1.1-r, --filter-dst-ip: Usa esta opción para filtrar por una dirección IP de destino específica. Por ejemplo: -r 8.8.4.4--dns-type: Usa esta opción seguida de un tipo DNS para filtrar por un tipo DNS específico. Por ejemplo: --dns-type 1 (para tipo A)--pcap-file: Usa esta opción para guardar los paquetes capturados en un archivo PCAP. Por ejemplo: --pcap-file captured_packets.pcap--firewall: Activa el modo cortafuegos DNS.--threshold: Usa esta opción para establecer el umbral para el número de consultas DNS. Por ejemplo: --threshold 50--window-size: Usa esta opción para establecer el tamaño de la ventana (en segundos). Por ejemplo: --window-size 60--version: Usa esta opción para mostrar el número de versión del programa.Presiona Ctrl+C para detener el proceso de captura.
Aquí tienes algunos ejemplos de uso de DNSWatch: Puedes explorarlos aquí:
DNSWatch está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Esta herramienta está destinada únicamente a fines educativos y de prueba. No debe ser utilizada para actividades maliciosas.
¡Gracias por considerar apoyarme! Tu apoyo me permite dedicar más tiempo y esfuerzo a crear herramientas útiles como DNSWatch y desarrollar nuevos proyectos. Al contribuir, no solo me ayudas a mejorar las herramientas existentes, sino que también inspiras nuevas ideas e innovaciones. Tu apoyo juega un papel vital en el crecimiento de este proyecto y futuros esfuerzos. ¡Juntos, sigamos construyendo y aprendiendo. Gracias!