Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-users: Re: [Wireshark-users] IP protocol fragmentation

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 25 Jun 2007 10:03:10 -0700
Martin Pyne wrote:
I've been experiencing some interesting issues lately regarding a NFS scan I did released. There are several packets that, when the "Reassemble fragmented IP diagrams" option is selected in Preferences -> IP, show under "Info" "Fragmented IP protocol (proto=UDP 0x11, off=0)".

"off=0" means that this is the first fragment of a fragmented IP datagram.

When that option is deselected, the packets show "V3 READ Reply (Call In 2941532) Len: 32768[Unreassembled]".

The fragmented IP datagram in question contains an NFSv3 reply to a READ request. As you turned off IP datagram reassembly, Wireshark doesn't try to find all the fragments of the fragmented IP datagram, and reasemble them, before dissecting the packet data above the IP layer; instead, it tries to dissect what part of the datagram is available in the first fragment, and quits and marks the packet as unreassembled when it runs out of data in the first fragment.

If only the first fragment is in your capture, then, when reassembly is enabled, the reassembly will fail.

If you captured with a capture filter of, for example, "port 2049", only the first fragment will be captured, as the UDP header, which contains the source and destination port numbers, is in the first fragment. Capture filtering (as offered by the kernel in many OSes) is "stateless", so it can't arrange to capture all the fragments.