Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dnsmonster — Kit de captura y monitoreo pasivo de DNS | Kitploit
Herramientas/GitHubGitHub/fenkohq/dnsmonster
Sniffing y Análisis de PaquetesRecopilación de InformaciónSeguridad de RedesInteligencia de AmenazasAnálisis de DNSAnálisis de Registros
GitHubfenkohq/dnsmonster

dnsmonster

Kit de captura y monitoreo pasivo de DNS

Ver Repositorio
3606019hace 14 díasRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Build Status Go Version Latest Version License Open Issues

¡Estamos explorando una solución SaaS gestionada para dnsmonster! Ayuda a dar forma al futuro del monitoreo pasivo de DNS compartiendo tus comentarios y requisitos: Responde nuestra breve encuesta

Tabla de contenido

  • Dnsmonster
  • Características principales
  • Instalación
    • Linux
      • Contenedor
      • Compilar manualmente
      • Compilar estáticamente
    • Windows
    • FreeBSD y MacOS
  • Arquitectura
    • Instalación todo en uno usando Docker
      • Demo todo en uno
    • Despliegue empresarial
  • Configuración
    • Opciones de línea de comandos
    • Variables de entorno
    • Archivo de configuración
    • ¿Cuál es la política de retención?
  • Muestreo y omisión
    • Muestreo previo al procesamiento
    • Dominios omitidos
    • Dominios permitidos
    • SAMPLE en consultas SELECT de ClickHouse
  • Entradas compatibles
  • Salidas compatibles
  • Hoja de ruta
  • Proyectos relacionados

Dnsmonster

Marco de monitoreo pasivo de DNS construido en Golang. dnsmonster implementa un sniffer de paquetes para tráfico DNS. Puede aceptar tráfico desde un archivo pcap, una interfaz en vivo o un socket dnstap, y puede usarse para indexar y almacenar cientos de miles de consultas DNS por segundo, ya que ha demostrado ser capaz de indexar más de 200,000 consultas DNS por segundo en una computadora común. Su objetivo es ser escalable, simple y fácil de usar, y ayudar a los equipos de seguridad a comprender los detalles del tráfico DNS de una empresa. dnsmonster no busca seguir conversaciones DNS, sino que apunta a indexar paquetes DNS a medida que llegan. Tampoco busca violar la privacidad de los usuarios finales, con la capacidad de enmascarar IPs de Capa 3 (IPv4 e IPv6), permitiendo a los equipos realizar análisis de tendencias sobre datos agregados sin poder rastrear las consultas hasta un individuo. Blogpost

El código anterior a la versión 1.x se considera de calidad beta y está sujeto a cambios importantes. Visite las notas de la versión para cada etiqueta para ver la lista de escenarios de ruptura entre cada versión y cómo mitigar una posible pérdida de datos.```mermaid graph TD subgraph Input B1["network input"] B2["pcap file"] B3["dnstap socket"] end

subgraph "Process"
    C1["Sampling based of ratio"]
    C2["Packet Process"]
    C3["Dispatcher"]
    O11["Output1"]
    O12["Domain Skip (optional)"]
    O13["Domain Allow (optional)"]
    O21["Output2"]
    O22["Domain Skip (optional)"]
    O23["Domain Allow (optional)"]
    O31["Output3"]
    O32["Domain Skip (optional)"]
    O33["Domain Allow (optional)"]
end

B1 --> Process
B2 --> Process
B3 --> Process

C1 --> C2
C2 --> C3
C3 --> O11
C3 --> O21
C3 --> O31

O11 --> O12 --> O13
O21 --> O22 --> O23
O31 --> O32 --> O33

subgraph Output
    Splunk
    Syslog
    H["ClickHouse"]
    Postgres
    Kafka
    I["JSON File"]
    Influx
    Elastic
    J["stdout"]
    Parquet
    Sentinel
end

O13 --> H
O23 --> I
O33 --> J
# Funcionalidades principales

- Posibilidad de usar `afpacket` y captura de paquetes con zero-copy en Linux.
- Soporta BPF
- Posibilidad de enmascarar la dirección IP para mejorar la privacidad
- Posibilidad de tener una relación de muestreo de preprocesamiento
- Posibilidad de tener una lista de `fqdn` "omitir" para evitar escribir algunos dominios/sufijo/prefijo al almacenamiento
- Posibilidad de tener una lista de dominios "permitidos", utilizada para registrar el acceso a ciertos dominios
- Recarga en caliente de archivos/urls de dominios omitidos y permitidos
- Salida modular con lógica configurable por flujo de salida.
- Política automática de retención de datos usando el atributo TTL de ClickHouse
- Panel de Grafana integrado para salida de ClickHouse.
- Posibilidad de distribuirse como un único binario enlazado estáticamente
- Posibilidad de configurarse mediante variables de entorno, opciones de línea de comandos o archivo de configuración
- Posibilidad de muestrear salidas usando la capacidad SAMPLE de ClickHouse
- Posibilidad de enviar métricas usando `prometheus` y `statstd`
- Alto ratio de compresión gracias al almacenamiento LZ4 incorporado de ClickHouse
- Soporta DNS sobre TCP, DNS fragmentado (udp/tcp) e IPv6
- Soporta [dnstap](https://github.com/dnstap/golang-dnstap) sobre socket Unix o TCP
- Integración SIEM incorporada con Splunk y Microsoft Sentinel

# Instalación

## Linux

La mejor manera de empezar con `dnsmonster` es descargar el binario desde la sección de lanzamientos. El binario está construido estáticamente contra `musl`, por lo que debería funcionar sin problemas en muchas distribuciones. Para soporte de `afpacket`, debes usar un kernel 3.x+. Cualquier distribución Linux moderna (CentOS/RHEL 7+, Ubuntu 14.0.4.2+, Debian 7+) incluye una versión 3.x+, así que debería funcionar de inmediato. Si tu distribución no funciona con la versión precompilada, por favor envía un issue con los detalles y compila `dnsmonster` manualmente usando esta sección [Compilar manualmente](#build-manually).

### Contenedor

Dado que `dnsmonster` utiliza funcionalidad de captura de paquetes en bruto, el demonio Docker/Podman debe otorgar la capacidad al contenedor```
sudo docker run --rm -it --net=host --cap-add NET_RAW --cap-add NET_ADMIN --name dnsmonster ghcr.io/mosajjal/dnsmonster:latest --devName lo --stdoutOutputType=1

Compilar manualmente

  • con libpcap: Asegúrate de tener instalados los paquetes go, libpcap-devel y linux-headers. El nombre de los paquetes puede variar según tu distribución. Después de esto, simplemente clona el repositorio y ejecuta `go build ./cmd/dnsmonster````sh git clone https://github.com/mosajjal/dnsmonster --depth 1 /tmp/dnsmonster cd /tmp/dnsmonster go get go build -o dnsmonster ./cmd/dnsmonster
- sin `libpcap`:
`dnsmonster` solo usa una función de `libpcap`, y es convertir los filtros de estilo `tcpdump` en bytecode BPF. Si puedes vivir sin soporte BPF, puedes compilar `dnsmonster` sin `libpcap`. Ten en cuenta que para cualquier otra plataforma, la captura de paquetes recurre a `libpcap`, por lo que se convierte en una dependencia obligatoria (*BSD, Windows, Darwin).```sh
git clone https://github.com/mosajjal/dnsmonster --depth 1 /tmp/dnsmonster 
cd /tmp/dnsmonster
go get
go build -o dnsmonster -tags nolibpcap ./cmd/dnsmonster

Compilar estáticamente

Descargar herramienta