
Wireshark logo
Despues de medio superar la crisis postvacacional, ahora que está tan de moda la palabra crisis … volvemos.
Estaba yo buscando porqué no funcionaba una aplicación. Se suponía que el navegador del cliente debía hacer la petición y meterle algunos headers para poder autenticar sin problemas. Al ver que la aplicación no se comportaba como tocaba, decidí ver qué estaba mandando exactamente el navegador del cliente.
Así que, manos a la obra, dejo un “tcpdump” ejecutando en el servidor y reproduzco la incidencia con el navegador. Al abrir el volcado con Wireshark (el sucesor de Ethereal), me encuentro que muchos frames tienen la nota “Packet size limited during capture”.
Ein?
Varios intentos de buscar cadenas de texto en las peticiones HTTP … sin resultado. Pero, ¡estoy seguro de que el cliente está mandando esa cadena en la petición!.

Wireshark - Packet size limited during capture
Nada, que no hay manera. ¿Y ese extraño mensaje “Packet size limited during capture”?
Al googlear un rato, parece que versiones viejas de tcpdump, o en SOs “viejos”, por defecto se trunca el tamaño del paquete a 96, o 68 bytes. Con lo cual, la opción “Follow TCP Stream” queda inútil en lo que a HTTP se refiere.
Así que, si queremos capturar toda la longitud de los paquetes, hay que usar la opción “-s 0″. Ojo, que según el man, esto supone mucho más trabajo para el equipo y tal. Pero al final, captura todo todito, y podemos hacer el Follow como es debido.
Espero que esto le sea útil a alguien más!