Wireshark mailing list archives
Re: pcapng decoding error when preamble is shortened
From: Guy Harris <gharris () sonic net>
Date: Thu, 18 Feb 2021 00:50:15 -0800
On Feb 16, 2021, at 4:03 AM, Timmy Brolin <tib () hms se> wrote:
In practice, this is what I would propose: * Wireshark dissector made capable of accepting any whole-byte preamble length mPackets. * mPacket capture devices are made responsible for detecting any frames with non-integer preamble, and correct for it by adding 4 bits extra preamble at the beginning. That way the dissector never has to realign a whole frame on bit level.
I.e., the packet, as stored in a capture file (pcap, pcapng, whatever), will have somewhere between 1 and 7 octets of 0x55, followed by an SMD?
* A capture device which has added 4 bits of preamble, shall indicate this by setting the “unaligned frame error” bit in epb_flags, to let the dissector know that it should ignore the least significant nibble of the first preamble byte.
Why is this necessary? Is the goal here to indicate the on-the-wire preamble length? If so, why not just write 0x50 rather than 0x55 as the first octet if the least significant nibble is a padding nibble?
While a mPacket with 4 bits of missing preamble is not actually an error, I can think of no other meaningful use for the “unaligned frame error” bit in epb_flags for mPackets. So it should be ok to make use of it for this purpose? Maybe? Unless the “unaligned frame error” is actually intended to indicate “dribble error”? (An extra 4 bit nibble at the end of a frame)
Those flags come from an example given in the documentation of the flags field of the pcapng Enhanced Packet Block" https://pcapng.github.io/pcapng/draft-tuexen-opsawg-pcapng.html#name-enhanced-packet-block-flags which says link-layer-dependent errors (Bit 31 = symbol error, Bit 30 = preamble error, Bit 29 = Start Frame Delimiter error, Bit 28 = unaligned frame error, Bit 27 = wrong Inter Frame Gap error, Bit 26 = packet too short error, Bit 25 = packet too long error, Bit 24 = CRC error, other?? are 16 bit enough?). Currently, we support that flag in DOS Sniffer files; we do *not* yet interpret the link-layer-dependent errors in pcapng files. And the "unaligned frame error" should perhaps be renamed "misaligned frame error". See, for example, this page of an Ethernet adapter manual: https://manualsdump.com/en/manuals/asante_technologies-asante_maccon_family_ethernet_network_cards_for_the_macintosh/142796/53 in which it lists various error indications, including Frame Alignment Error, which means the frame didn't not end in an 8 bit boundary. That says nothing about the preamble. It's talking about "octet-boundary alignment of the end of the frame", to quote section 4.1.2.1.2 "Reception without contention": ...It also checks for invalid MAC frames by inspecting the frame check sequence to detect any damage to the frame enroute, and by checking for proper octet-boundary alignment of the end of the frame. Frames with a valid FCS may also be checked for proper octet-boundary alignment. So there are at least 3 reasons not to use that flag: 1) that's not what its intended use is; 2) it's not currently implemented in the pcapng reader; 3) it's not available in pcap - this isn't a "pcapng decoding error", it's a packet decoding error, and there should be as few cases as possible where a packet from a pcapng file (if all the interfaces in the pcapng file have the same link-layer type and snapshot length) could not be written to a pcap file and properly decoded by a program reading the pcap file. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- pcapng decoding error when preamble is shortened Timmy Brolin (Feb 09)
- Re: pcapng decoding error when preamble is shortened Jaap Keuter (Feb 13)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 13)
- Re: pcapng decoding error when preamble is shortened Jaap Keuter (Feb 15)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 16)
- Re: pcapng decoding error when preamble is shortened Guy Harris (Feb 16)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 16)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 16)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 17)
- Re: pcapng decoding error when preamble is shortened Guy Harris (Feb 18)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 18)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 13)
- Re: pcapng decoding error when preamble is shortened Jaap Keuter (Feb 13)
- Re: pcapng decoding error when preamble is shortened Jaap Keuter (Feb 19)
- Re: pcapng decoding error when preamble is shortened Guy Harris (Feb 19)
- Re: pcapng decoding error when preamble is shortened Timmy Brolin (Feb 21)