Ethereal-users: Re: [Ethereal-users] Difference between TCPDump capture file and Ethereal captur

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Thu, 13 Mar 2003 10:09:32 -0800
On Thu, Mar 13, 2003 at 06:04:48PM +0100, BUYCK Jacky FTRD/DMI/CAE wrote:
> 	Is there a difference between a file capture byt the following command :
> 		tcpdump -w file
> 	and a dump capture throught ethereal ?

Yes.

If you run

	tcpdump -w file

to do a capture, the packets will be truncated to the default tcpdump
"snapshot length", which is typically 68 bytes if tcpdump wasn't built
with IPv6 support or 96 bytes if tcpdump was built with IPv6 support. 
Only the first 68 or 96 bytes of the packet (depending on the default)
will be saved in the capture.

If you use Ethereal to do a capture, and don't turn on the "Limit each
packet to {N} bytes" option ("N" defaults to 68), the entire packet will
be saved in the capture file.

> 	Why interpretation is not the same in both ???

Probably because tcpdump doesn't, by default, save the entire packet. 
Check whether any of the packets dissected differently have different
"bytes on wire" and "bytes captured" values in the "Frame N" line of the
detailed dissection in the middle pane in the tcpdump capture - if
"bytes captured" is less than "bytes on wire" in the tcpdump capture,
that's the problem.

> 	Does the 'tcpdump -w file' doesn't capture all the packet length ?

No, it doesn't.  If you want to do that, you'd have to do

	tcpdump -s 65535 -w file

or, in recent versions of tcpdump:

	tcpdump -s 0 -w file

(in recent versions of tcpdump, a snapshot length of 0 means "make the
snapshot length 65535").