microsoft / etl2pcapng

Utility that converts an .etl file containing a Windows network packet capture into .pcapng format.
MIT License
607 stars 114 forks source link

Automatically infer original fragment length for truncated fragments (Raw/Ethernet) #28

Closed csujedihy closed 3 years ago

csujedihy commented 3 years ago

Currently, if packets were captured using packettruncatebytes=, wireshark's TCP analysis will be confused when parsing these truncated packets and you will see lots of bogus "[TCP Previous segment not captured]" and "[TCP ACKed unseen segment]".

With this PR, etl2pcapng will parse Ethernet and IP headers and infer the original length of packets and assign the length to PCAPNG_ENHANCED_PACKET_BODY::PacketLength. Note that doing so will not increase the converted file size.

Limitations:

Does not work with LSO v2 packets since length is not filled in IPv4/6 headers. image


This change is Reviewable