TCPDUMP: ¿son estos argumentos coherentes o sin sentido juntos?

1

Estoy usando tcpdump en el software de enrutamiento e intento verificar si la presencia del protocolo ip / ip6 con un host ip6 / ip (es decir, la otra familia de IP), o si estoy especificando una combinación de IPv4 e IPv6 como hosts, es redundante, sin sentido, o un error de desinfección de datos del usuario. O bien, si puede tener sentido razonable como parámetros de captura tcpdump.

¿Es coherente, o capaz de tener sentido, especificar tcpdump con proto = 'ip' pero hosts que incluyen IPv6 (o proto = 'ip6' pero hosts que incluyen IPv4)?

¿Puede eso tener sentido o devolver resultados válidos? ¿Si es así cuando?

Gracias por cualquier entrada rápida, ¡te ayudará!

Stilez
fuente

Respuestas:

3

¿Algo como esto?

# tcpdump -i eth0 '(ip or ip6) and host www.google.com'

El ejemplo anterior es un poco más elaborado de lo necesario, para ilustrar un punto. Lo siguiente también funcionará bien. www.google.comes un host de doble pila que incluye registros A y AAAA: tcpdump automáticamente hace 'o' lógica que combina resultados al resolver un host DNS.

# tcpdump -i eth0 'host www.google.com'

Esto es efectivamente lo mismo que:

# tcpdump -i eth0 '(host 74.125.237.20 or host 2404:6800:4006:800::1011)'
Jeremy Visser
fuente
1
Ahora eso tendría sentido :-)
Sander Steffann
Vea a continuación, y sí, ¡un buen ejemplo de ipv4 / ipv6 mixto en los hosts! También estoy pensando en casos esotéricos que otros puedan necesitar, y tratando de averiguar si alguna vez puede tener sentido que el protocolo se especifique como ip o ip6, pero luego host para incluir los ips del "otro" protocolo.
1

Un paquete IPv4 siempre tiene direcciones de origen y destino de IPv4, y un paquete IPv6 siempre tiene direcciones de origen y destino de IPv6.

Realmente no entiendo lo que estás tratando de hacer, y supongo que eso significa: "No, no tiene sentido"

Sander Steffann
fuente
Estoy limpiando una función existente que incluye el rastreo de paquetes para el usuario. La función existente permite al usuario elegir ipv4 / ipv6 / any, y también ingresar hosts ipv4 / ipv6. Tengo el mismo pensamiento que tú, aparentemente no tendría sentido, así que debería atraparlo como un error de entrada del usuario. Pero necesito una respuesta experta porque no estoy 100% seguro. Por ejemplo, ¿podría haber situaciones en las que la tunelización o encapsulación IPv4 / 6 o algún otro contexto de red signifique que estos serían argumentos válidos para tcpdump, incluso si la situación fuera inusual y esotérica?