DNSWatch es una herramienta basada en Python que te permite interceptar y analizar el tráfico del Sistema de Nombres de Dominio (DNS) en tu red. Escucha las solicitudes y respuestas DNS y proporciona información sobre la actividad DNS.

Características
- Intercepta y analiza las solicitudes y respuestas DNS.
- Muestra las solicitudes DNS con sus direcciones IP de origen y destino correspondientes.
- Modo detallado opcional para una inspección minuciosa de paquetes.
- Guarda los resultados en un archivo de salida especificado.
- Filtra el tráfico DNS especificando una dirección IP de destino.
- Guarda las solicitudes DNS en una base de datos para un análisis adicional (opcional).
- Analiza los tipos de DNS (opcional).
- Soporte para DNS sobre HTTPS (DoH) (opcional).
Requisitos
- Python 3.7 o superior.
- scapy 2.4.5 o superior.
- colorama 0.4.4 o superior.
Instalación
- Clona este repositorio:
git clone https://github.com/HalilDeniz/DNSWatch.git- Instala las dependencias requeridas:
pip install -r requirements.txtUso:
python dnswatch.py -i <interfaz> [-v] [-o <archivo_salida>] [-k <IP_destino>] [--analyze-dns-types] [--doh] [-fd <dominios_destino>] [-d]-i,--interface: Especifica la interfaz de red (por ejemplo, eth0).-v,--verbose: Usa esta bandera para obtener una salida más detallada.-o,--output: Especifica el nombre de archivo para guardar los resultados.-t,--target-ip: Especifica una dirección IP de destino específica para monitorear.-adt,--analyze-dns-types: Analiza los tipos de DNS.--doh: Usa DNS sobre HTTPS (DoH) para resolver las solicitudes DNS.-fd,--target-domains: Filtra las solicitudes DNS por dominios especificados.-d,--database: Habilita el almacenamiento en la base de datos para las solicitudes DNS.
Presiona Ctrl+C para detener el proceso de intercepción.
Ejemplos
- Interceptar el tráfico DNS en la interfaz “eth0”:
python dnswatch.py -i eth0- Interceptar el tráfico DNS en la interfaz “eth0” y guardar los resultados en un archivo:
python dnswatch.py -i eth0 -o dns_results.txt- Interceptar el tráfico DNS en la interfaz “eth0” y filtrar solicitudes/respuestas que involucran una IP de destino específica:
python dnswatch.py -i eth0 -t 192.168.1.100- Interceptar el tráfico DNS en la interfaz “eth0” y habilitar el análisis de tipos de DNS:
python dnswatch.py -i eth0 --analyze-dns-types- Interceptar el tráfico DNS en la interfaz “eth0” utilizando DNS sobre HTTPS (DoH):
python dnswatch.py -i eth0 --doh- Interceptar el tráfico DNS en la interfaz “wlan0” y habilitar el almacenamiento en la base de datos:
python3 dnswatch.py -i wlan0 --database

