Ethereal-users: Re: [Ethereal-users] display custom protocol (newbie question)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Thu, 8 Nov 2001 13:18:21 -0800 (PST)
> I would like to use ethereal to display a custom
> protocol that's on top of UDP or TCP. I have existing
> code to interpret the data. Is there a ways to extend
> ethereal to display the custom protocol layer and call
> the external code for interpretation, without
> recompiling the whole thing?

That depends on what you mean by "external".

You can write a plug-in dissector module - but that would require that
you change your existing code into the standard Ethereal form for a
dissector module, or write some code that works just like a standard
Ethereal dissector module and calls your code.  There's no mechanism for
plugging in, say, another *program* as a dissector for some protocol.

See, in the Ethereal source code tree, the "plugins" directory, and the
directories underneath it, for examples of how to write a plug-in
dissector module; see also the "README.design", "README.developer",
"README.plugins", and "README.tvbuff" files in the "doc" directory.

You won't have to recompile Ethereal, in its entirety, to make a plugin
dissector.

> If I need to write C code to extend ethereal, can
> someone tell me what compiler to use on Windows? 

Microsoft Visual C++ 6.0 has been used; 5.0 might also work.  I don't
know whether anybody's successfully used any other compiler (GCC from
Cygwin, Borland compilers, etc.) - I haven't heard any reports of
anybody having done so.