Wireshark mailing list archives

q on catching error in sub-dissectors.


From: Christian Hopps <chopps () chopps org>
Date: Tue, 21 Jan 2020 09:33:26 -0500

So I've got a payload of packets in a single frame. I'm calling dissector_try_uint_new() to dissect each payload 
(typically IPv4 packets). Some of these packets are considered "malformed" by wireshark (e.g., created by scapy/trex 
with some bogus values).

The problem I'm hitting is that the first malformed inner packet fails all the way out of my parent dissector, so it 
doesn't dissect any of the other packets in the payload.

Another problem I'm having is that the IP sub-dissector is overwriting my source and destination addresses in the 
pinfo/tree (not sure which doesn't really matter).

Summary:

- How can I "catch" errors in a subdissector so I can call other sub-dissectors?
- How can I "block" sub-dissectors from overwriting my outer header information?

Thanks,
Chris.
___________________________________________________________________________
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: