Archive for wireshark

tcpdump – Packet size limited during capture [ENG]

Posted in Computación with tags , , , , , , on 16/July/2009 by Alex Pérez
Wireshark logo

Wireshark logo

[Due to the # of hits of this entry, I translated this to English …. my poor English xD]

I was looking why a web application was not running at all. The browser must send a request and the app should add some headers in order to login without problems … but seeing that the web application didn’t behave as expected, I decided to see what’s going on and what was sending *exactly* the browser to the app.

So, I left a “tcpdump” running in the server, and replayed the issue with the browser. When I opened the dump file with Wireshark (Ethereal fork, AFAIK), I found that too many frames got a tag “Packet size limited during capture”.

WTF?

After searching with Wireshark some strings that are supposed to exist in the HTTP request ….no luck. But I’m 100% sure that the browser is sending the string I’m searching!?

Wireshark - Packet size limited during capture

Wireshark - Packet size limited during capture

No luck. And … what’s this message “Packet size limited during capture”?

After googling for a while, it seems that older versions of tcpdump, or running tcpdump in old OSes, by default the packet size it’s truncated to 96 or 68 bytes. So, the Wireshark/Ethereal option “Follow TCP Stream” is unable to show what’s exactly going on between the broswser and HTTP server.

If we want to capture network frames full-length, you must use “-s 0” flag. (ie # tcpdump -i eth0 -w file.cap -s 0). But in tcpdump manpage they alert that this is a lot of extra work to the server. With the “-s 0” flag, the frames are captured with the original length, and we can follow the TCP stream as required.

HTH

Advertisements

tcpdump – Packet size limited during capture

Posted in Computación with tags , , , , , on 28/October/2008 by Alex Pérez
Wireshark logo

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

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!