Cuánto hacía que no me pasaba nada "raro" en el mundo "linux".
Pero en el curro llevo una temporadita "adoctrinando" a los compañeros sobre las ventajas de tener un mini-linux en los portátiles para analizar fácil y rápidamente el tráfico ethernet
taggeado de productos como macro/metro/cobreLAN. Cosas de las
VLANs.
Así que ahí estaba yo, con mi Debian en consola pura, blanco sobre negro, y la línea de comandos de
bash, mostrando lo fácil que resulta el uso de
vconfig y la sencillez de
tcpdump para esnifar tráfico. Y con
mi tcpdump salía el tráfico capturado perfectamente "marcado" con su vlan, como en este ejemplo:
|
XX:XX:36.782970 vlan 586 IP (tos 0x10, ttl 64, id 30506, offset 0, flags [DF], proto TCP (6), length 52)............
|
Tras la prueba, convincente al 100%, nos pusimos manos a la obra e instalé una Debian minimalista, sólo con consola, pero con todos los
extras usados. Lo ponemos a prueba y:
|
XX:XX:36.782970 IP (tos 0x10, ttl 64, id 30506, offset 0, flags [DF], proto TCP (6), length 52)............
|
Y la parte VLAN
desaparece como por arte de magia. Evidentemente eso no era lo pactado, y comencé a investigar:
No era el hardware. En mi portátil, tanto la ethernet integrada (una broadcom gigabit vulgaris), como algún otro interface PCMCIA o USB ethernet, captura el tráfico con la VLAN.
No es el kernel. Copio mi kernel y mis módulos al ordenador de destino y lo mismo.
No es ningún tipo de firmware después de comparar los directorios /lib/firmware.
Y al final era la versión SUPERIOR del tcpdump. El que funciona bien es el tcpdump version 3.9.8. En cambio la versión 4.1.1 no hace lo esperado. No hay problema con las librerias (sobre todo libpcap) ya que son de una versión superior.
Cambiados los binarios, todo OK.
Moralejilla: No hay que fiarse de que las versiones superiores sean mejores. Ya sé que es lógico, pero en este caso fué lo primero que ví y lo último de lo que sospeché.