Esta es una buena pregunta.
De hecho, tcpdump es el primer software que se encuentra después del cable (y la NIC, si lo desea) en el camino de ENTRADA , y el último en el camino de SALIDA .
Wire -> NIC -> tcpdump -> netfilter/iptables
iptables -> tcpdump -> NIC -> Wire
Por lo tanto, ve todos los paquetes que llegan a su interfaz y todos los paquetes que salen de su interfaz. Como los paquetes al puerto 53 no reciben respuesta, como lo ve tcpdump, usted ha verificado con éxito que sus reglas de iptables se han configurado correctamente.
EDITAR
Quizás debería agregar algunos detalles. tcpdump se basa en libpcap , una biblioteca que crea un socket de paquete . Cuando se recibe un paquete normal en la pila de red, el núcleo primero verifica si hay un socket de paquete interesado en el paquete recién llegado y, si hay uno, reenvía el paquete a ese socket de paquete. Si se elige la opción ETH_P_ALL , todos los protocolos pasan por el socket del paquete.
libpcap implementa uno de estos sockets de paquetes con la opción activada, guarda una copia para su propio uso y duplica el paquete de nuevo en la pila de red, donde el núcleo lo procesa de la manera habitual, incluyendo pasarlo primero a netfilter , el núcleo -espacio homólogo de iptables . Lo mismo, en orden inverso ( es decir , primero el filtro de red, luego el último paso a través del socket del paquete), al salir.
¿Es propenso a hackear? Pero por supuesto. Ciertamente, hay rootkits de prueba de concepto que usan libpcap para interceptar las comunicaciones destinadas al rootkit antes de que el firewall pueda echar mano de ellos. Pero incluso esto palidece en comparación con el hecho de que una simple consulta de Google descubre un código de trabajo que oculta el tráfico incluso de libpcap . Aún así, la mayoría de los profesionales piensan que las ventajas superan ampliamente las desventajas en la depuración de filtros de paquetes de red.