Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] How to call dissectors which are not registered (by register

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 9 Jun 2008 18:34:16 -0700

On Jun 9, 2008, at 6:27 AM, yami wrote:

I'm writing a plugin for our program's own protocol, which encapsulates a whole 'SMB' package.

Does it encapsulate anything *other* than SMB?

  But in packet-smb.c, the dissector for 'SMB' is not registered.

Is it possible to call it without changing wireshark's code (packet- smb.c) itself?

No. You'd have to modify the SMB dissector to register the dissector by name, rather than creating an anonymous dissector handle with create_dissector_handle().

If your protocol encapsulates other protocols than SMB, you'd probably want a dissector table or a heuristic dissector table, and you'd want to have the SMB dissector register itself in that table. If it only encapsulates SMB, you might as well just have the SMB dissector register itself by name and have your dissector's proto_reg_handoff routine find the handle for SMB and use that.

If you modify the SMB dissector to register itself by name, send us a patch, and we'll incorporate it into some future Wireshark release.