$ cd ../
DNS Probe — bash

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

Vista escritorio
DNS Probe - Vista escritorio
Vista movil
DNS Probe - Vista movil

# Tecnologías utilizadas

C++23