Ethereal-dev: Re: [Ethereal-dev] Extract data from Ethereal

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: Wed, 20 Oct 2004 12:55:00 -0700
Koen Smets wrote:

After reading some docs about developing plugins and tapping systems,
we noticed that most of the information is concerning about new
protocol dissectors (that's not what we're looking for, isn't?) and so
we didn't found an answer to our main problem: getting data from
ethereal in a proper manner.

Currently, the only plugins Ethereal supports are dissectors. At some point, it'd be nice to have plugin taps as well, although for that we'd either need to

1) have a way to have taps that don't directly have GUI code (such as a way to have a tap that computes some statistics and displays them just register a table to hold the statistics, with Tethereal printing them and Ethereal displaying them)

or

2) keep different types of plugins separate, so Tethereal can load only the ones that lack GUI code.

(We might want both, as the first of those would make it easier to write statistical taps and would let some of the Tethereal and Ethereal taps merge, and the second of those might be necessary if all dissectors ahve to be registered before all taps.)

If this wasn't already hard enough, we also need a way to handle
events like clicking on a packet in sequence diagram -> highlight
packet details in ethereal...
(we thought to write some kind of protocol and also use sockets to get
that job done , but therefore I think we need to bind some callbacks
from Ethereal)

It sounds as if what you really want is a way to make Ethereal "drivable" from outside, using e.g. COM (or something COM-based, as I think ActiveX is) on Windows, perhaps KParts in KDE and Bonbo in GNOME (if they allows this), Apple Events in OS X, etc..

We currently don't have that. It'd need something in Ethereal's event loop so that it can respond to "events" from outside Ethereal as well as UI input events.