Ask Your Question
0

Does Wireshark natively support Class C and Class D protocols to retrieve EMP (Edge Message Protocol) messages?

asked 2025-07-03 02:40:50 +0000

kchitti gravatar image

updated 2025-07-03 14:48:56 +0000

cmaynard gravatar image

Does Wireshark natively support Class C and Class D protocols to retrieve EMP (Edge Message Protocol) messages or is a plugin required for this functionality? If a plugin is needed, which one should be installed to enable support for the Class D protocol?

edit retag flag offensive close merge delete

Comments

Jaap gravatar imageJaap ( 2025-07-03 06:25:47 +0000 )edit

Yes, that's correct, I’m referring to the CLASS D MESSAGING SPECIFICATION & EMP (Edge Messaging Protocol) messages. I’m not sure about the Standard #.

kchitti gravatar imagekchitti ( 2025-07-03 11:50:24 +0000 )edit

The author of the github.io page linked to above has LinkedIn contact at the top of the page.
I opened a github issue to ask if a dissector is available:
https://github.com/ericwu1997/ericwu1...

(250707 Update: "Unfortunately, the director (dissector?) is for company internal use ...")

Chuckc gravatar imageChuckc ( 2025-07-03 18:33:41 +0000 )edit

@Chuckc - Thank you for the clarification regarding the dissector being for internal use.

Would you be able to help or guide me in developing a custom dissector—either in Lua or C—for parsing EMP messages over Class D? Any documentation, sample code, or suggestions on where to start would be greatly appreciated. I'm especially interested in understanding how to structure the protocol layers and register it properly in Wireshark.

Thank you in advance for your time and support.

kchitti gravatar imagekchitti ( 2025-08-04 17:38:21 +0000 )edit

Do you have access to the documents that define the message protocols?

S-9354 Edge Message Protocol 2018 K-IV Update Available
S-9355 AppA.V1.0 Appendix A Version 1.0 Class C Messaging Class C Multicast Message Groups 2022 K-IV Update Available
S-9355 V1.0 Class C Messaging 2010 K-IV
S-9355 V2.0 Class C Messaging 2022 K-IV Update Available
S-9356 Class D Messaging 2018 K-IV Update Available

AAR List of standards

Do you want to build a dissector or are you trying to reverse engineer the protocols with Wireshark?

Chuckc gravatar imageChuckc ( 2025-08-04 17:50:14 +0000 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2025-08-04 19:34:56 +0000

Chuckc gravatar image

updated 2025-08-04 20:14:05 +0000

A lua post-dissector is quick way to experiment and get fields added to the tree.
From there the dissector can be modified to be called from another dissector such as UDP or TCP.
And then if you want better performance and to contribute to the Wireshark code base, move it to C.

EASYPOST.lua available from the Wireshark Wiki lua page just drops in and adds a protocol and field to the tree as a starting point.
There are several lua Sharkfest presentations.
I did one at SF22US (Kansas City) and SF23US (San Diego) that while not as detailed as earlier ones, reflect the current state of lua in Wireshark.

The dissector tutorial script covers a lot of what can be done in Lua.
Wiki pages Lua/Examples and Contrib good references also.

And the Lua section of the WSDG Chapter 10. Lua Support in Wireshark

edit flag offensive delete link more

Comments

Thank you for your quick response. I am trying to build a custom dissector. I have access to the S-9356 Class D Messaging, which I’m using as a reference. My goal is to develop a Lua or C-based dissector for EMP messages over Class D, and I’d appreciate any guidance or pointers you can provide regarding implementation or integration with Wireshark. Thanks again for your time and support.

kchitti gravatar imagekchitti ( 2025-08-04 21:01:13 +0000 )edit

The Class D page to which you linked says "Class D is a protocol that converts a stream based TCP protocol to a message or transaction based protocol.", and includes a fixed-length header with a field indicating the length of the message body.

The way to handle that is described in the How to reassemble split TCP packets section of the Developer's Guide, It's also usable from Lua, but, unfortunately, nobody's written any documentation for the Lua API in the Developer's Guide.

Guy Harris gravatar imageGuy Harris ( 2025-08-05 06:29:17 +0000 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2025-07-03 02:40:50 +0000

Seen: 379 times

Last updated: Aug 04