user@devops:~$ cat README.md
DNS Probe
# Descripción
DNS Probe es un resolvedor y analizador de paquetes DNS escrito desde cero en C++23, sin dependencias externas. Implementa el formato wire de RFC 1035: codificacion de nombres con compresion (punteros 0xC0), cabeceras, questions y resource records (A, AAAA, CNAME, MX, NS, SOA, PTR, TXT) con parsing seguro de los limites del paquete. Incluye transporte UDP propio con timeout, reintentos y medicion de RTT, servidor por defecto leido de /etc/resolv.conf, reverse lookup con -x, multiples dominios en una invocacion, decodificacion offline de respuestas hex con --parse, y self-test (--selftest) con 10 casos que incluyen una respuesta real capturada de 8.8.8.8. Exit codes estandar (0=respuestas, 1=NXDOMAIN/sin registros, 2=error) para integracion en scripts. Compilado con GCC 14 usando solo la biblioteca estandar C++23 y sockets POSIX.
# Características principales
$ Formato wire DNS (RFC 1035) implementado desde cero en C++23 puro
$ Compresion de nombres con punteros 0xC0 y parsing seguro con limites
$ Tipos de registro: A, AAAA, MX, NS, CNAME, SOA, PTR y TXT
$ Transporte UDP propio con timeout, reintentos y medicion de RTT
$ Reverse lookup con -x (PTR sobre in-addr.arpa)
$ Decodificacion offline de respuestas hex con --parse
$ Self-test con 10 casos incluyendo una respuesta real de 8.8.8.8
$ Cero dependencias: compilacion directa con g++ sin CMake
# Galería
# Tecnologías utilizadas