I'm trying to update/improve someone else's decoder written in Lua.
It's for a simple UDP (and TCP) based protocol.
But I need to be able to get access to the upper layer
to be able to decode it easily.
Can someone provide an example of how to determine if the higher layer was UDP or TCP?
If all you need to know is whether it was called from TCP or UDP, then a typical approach is to create slightly different dissector functions, one for TCP and one for UDP (they can then call a common function, setting a parameter) and register the TCP dissector with TCP and the UDP dissector with UDP.
I liked this answer better, so I updated my dissector accordingly,
and it's shorter, cleaner, and more obvious.
-------------
Now the next question is:
Can I submit this Lua based dissector for inclusion in the Wireshark project, or
should I rewrite it as a 'C' based dissector, and submit that?