Ethereal-users: RE: [Ethereal-users] Creating a dissector

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

From: "Parks, Chauni" <chauni.parks@xxxxxxxx>
Date: Fri, 06 Dec 2002 15:32:51 -0500
The dissector is registering using:

dissector_add("tcp.port", {port number}, {handle});

I am not a developer, so I am using the other protocol dissectors that run
atop TCP as guides. However, I check the register.c file and noticed that my
dissector was not listed in that file. Am I suppose to see it there? I have
created giop plugins and noticed my plugins weren't there either. So far it
hasn't caused a problem with my giop plugins. Is this a problem?

Chauni
********************************************************
Chaunita J. Parks	
Lockheed Martin NE&SS Manassas, VA 20110
Mail Drop 105/019
Phone: (703) 367 4084  Fax:(703) 367 5067 Lab:(703)367 5384
Email: chauni.parks@xxxxxxxx





-----Original Message-----
From: Guy Harris [mailto:guy@xxxxxxxxxx] 
Sent: Friday, December 06, 2002 3:07 PM
To: Parks, Chauni
Cc: 'ethereal-users@xxxxxxxxxxxx'
Subject: Re: [Ethereal-users] Creating a dissector


On Fri, Dec 06, 2002 at 08:08:45AM -0500, Parks, Chauni wrote:
> I wrote a dissector for a protocol to run atop TCP. I then made it as 
> a plugin. I followed the procedures to insure my plugin was installed 
> in all the Makefiles and configure.in file. I am able to see my plugin 
> listed in the plugin pulled down.

Well, that means that Ethereal is definitely finding your plugin.

> However, once I run ethereal I can't seem to find it
> once I capture data. I am executing data that the plugin should 
> capture.

How is the plugin dissector registering itself with the TCP dissector? 
Is it using

	dissector_add("tcp.port", {port number}, {handle});

in which case it should be used for all TCP traffic to or from the port
number in question and no other traffic, or is it a heuristic dissector
registered with

	heur_dissector_add("tcp", {dissector}, {protocol ID});

in which case it should be used for TCP traffic for which that heuristic
works and no other heuristics work?