Ethereal-dev: Re: [Ethereal-dev] A new dissector for the PROFIBUS protocol

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Thu, 02 Dec 2004 01:04:58 -0800
hasna dahnini wrote:

I’m just working to develop a PROFIBUS analyser and I want to use Ethereal with a new dissector for the PROFIBUS protocol. I’ve redden the file README.Developer to have an idea of how I can create a dissector but It’s very difficult for me to understand this file (as more as it’s writing in English). So, I ask if someone can send me an example of a dissector for another protocol and if it’s possible give me advice on how I can develop the PROFIBUS dissector (by steps). Does a french document like README.Developer exist ?

I don't know of one - but perhaps one of the French-speaking developers on the list could help you here.

I don't know which dissector in Ethereal would be the best dissector for you to read as an example, as I don't know anything about the PROFIBUS protocol. There are a lot of dissectors to look at....

Then, I want to display a signal on the screen through Ethereal (in a new window) and display a “View List” (list of all equipments present on the bus). Can I do this ? Can I add new elements on the Existed menu of Ethereal ?

How will Ethereal determine the equipment present on the bus? Will it determine that from the packets in a PROFIBUS capture, or from some PROFIBUS API?

If it'd do that from the capture, that could be done with a "tap". Otherwise, you'd have to modify the core of Ethereal; in either case, that wouldn't be done in a dissector.

Where is the interface (resources) of the Ethereal software ?

If by "resources" you mean "resources" in the sense of resources in a Windows application, the answer is "nowhere" - Ethereal isn't a Windows application, it's a multi-platform application, so it doesn't use Windows resources for items in the GUI.

How can I build Ethereal from the project .dsw on Visual 6 ?

Well, the first thing you'd have to do would be to construct a .dsw file - Ethereal doesn't use one. It uses console-mode nmake Makefiles - most files are mentioned in Makefile.common files that can be used both by UN*X automake "Makefile.am" files and MSVC++ nmake "Makefile.nmake" files.