Ethereal-users: Re: [Ethereal-users] Effort to implement support for a new protocol

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

From: Andy Howell <AndyHowell@xxxxxxxxxxxxx>
Date: Mon, 28 Jul 2003 17:31:05 -0500
Daniel,

You have to write a c language dissector that pulls apart your protocol and add a couple lines to some makes files. It is fairly straight forward. I just started the other day and am making good progress. Grab the source and look in the docs directory for README.Developer. It contains some template code that you cut'n'paste to make your new dissector.

A few things I have learned along the way:

	Setting column headings is done before if(tree) - see template
When debugging, the gui version, ethereal grabs the mouse, making debugging troublesome. The text version tethereal does not have this problem.

There are tons of code for other protocols to look at. All the packet-xxx files. Take a look at those for ideas.

If your protocol consists of fixed length fields, its dead easy. Variable lenght fields are a little more work, but not that much.

It will even handle fields with enumerated values, so you can give it an array of values and strings to display, it ethereal will display them. For example, if you have an enumerated message type, you make something like:

START_MESSAGE, 	"Start message"
MIDDLE_MESSAGE,	"Middle message"
END_MESSAGE,	"This is the end"

Hope this helps.

Andy



I an thinking of using ethereal to trace the client / server communication
of the Intel Iometer workload generator. The idea is to have a tool for the
developers (and for support).

Can anybody point out how much effort this is (the protocol is relatively
simple). Does it require coding a library or is it some kind of meta language?

Any feedback is welcome.

Thanks
Daniel

_______________________________________________
Ethereal-users mailing list
Ethereal-users@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-users