Ethereal-dev: [ethereal-dev] Port numbers and dissectors

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

From: Glen Turner <glen.turner@xxxxxxxxxxxxx>
Date: Thu, 24 Aug 2000 23:32:16 +0930
I have written a dissector for Cisco Systems' NetFlow Export
packets.

Unfortunately, there is no fixed UDP port number for this
traffic -- it is configured into the router and the client.

At the moment I've just hard-coded the port number we use,
as I used a dissector that used a fixed port number as the
starting point.

What is the recommended way to make this work with any port
number -- do I have to turn it into a plugin?

The NetFlow packets also contain parts of the IP and TCP headers --
such as the ToS byte and port numbers.  The current IP header
dissecting code doesn't allow it's ToS byte decoder to be reused.
Should I change this rather than copying the code?

The packets also contain a number of time types, including
NTP.  Given that these are heavily reusable, should I create
a new time type for this?  Should I add a facility to choose
between local and UTC displayed times?

Finally what is the suggested method of submitting a software
change -- there's also a hand-built "capture" for regression
testing that checks the boundary cases for each field value
plus a live capture for each version of the NetFlow protocol.

Please cc my on any replies, as my list join request has been
bounced to the adminitsrator due to a majordomo bug (it doesn't
recognise glen.turner+ethereal@xxxxxxxxxxxxx as being the same
address as glen.turner@xxxxxxxxxxxxx).

Thanks,
Glen

PS: the type FT_IPv4 is a bit naive.  There are actually four
different types of IP addresses: source addresses, destination
addresses, routing prefixes, next hop addresses.  It's worthwhile
differentiating these -- a error can them be easily flagged on
a multicast source address and addresses can be textually described
(eg: 0.0.0.0 as the null source address or as the routing prefix of
the default route as appropiate).

-- 
 Glen Turner                                 Network Engineer
 (08) 8303 3936      Australian Academic and Research Network
 glen.turner@xxxxxxxxxxxxx          http://www.aarnet.edu.au/
--
 The revolution will not be televised, it will be digitised