Ethereal-dev: Re: [ethereal-dev] non-standard UDP ports for standard protocolls ???
On Mon, Jan 11, 1999 at 10:39:36AM -0600, Gilbert Ramirez Jr. wrote:
> Perhaps in dissect_udp() and dissect_tcp(), if the port is not hard-coded
> into ethereal, a lookup into /etc/services can be made. We would have to
> construct a table of port numbers and dissect-functions in ethereal. I am
> assuming that you have your non-standard UDP port labelled in your local
> /etc/services file.
>
> Using this approach, we could get rid of the hard-coded UDP ports in
> packet.h
The problem is that the ports are only listed in /etc/services on those
machines that use radius, and not on the ones which are using ethereal.
And: if i am sniffing packets I want to be informed by ethereal which
packets are passing by (-> if i have to find out myself which protocol
is within those "unknown" UDP packets, ethereal is less usefull)
(IMHO: hard-coded UDP ports dont cause problems for many UDP protocolls
since most UDP protocolls use standardized ports (e.g. DNS)
an other proposal:
we could create a new config file/ preferences window which lets the
user choose which protocol should be applied for which UDP port
(e.g.
tftp 69-100
radius 1600-1700, 1800-1900, 1810
(the standard config should be the one we have hardcoded in packet.h now.)
-> to speed up the lookup process, maybe we could build up a btree ???
)
if the called dissect function determines, that the packet it is analyzing
is not of the type it is expecting, it returns with an error code.
This way, the calling function (dissect_udp) can call the next dissect function
from a list.
)
Question: how many protocols
a) dont have a standard udp port ?
b) dont use a standard udp port ?
c) must use their standard port ?
-> a complex solution must be justified by a larger amount of such protocols
BTW: RADIUS does have standard ports (but it seems, that it is not
common practice to use those ports)
FYI: RADIUS used to use the port 1645 which caused conflicts with an other protocol
(??? datametrics ???)
now the port 1812 has been assigned to RADIUS
RADIUS accounting should use 1813 but some older implementations still use
1646.
-> BUT: you are not forced to use a certain port -> you can choose it freely
Hannes
--
"The nice thing about standards is that there's so many to choose from."
-- Andrew S. Tanenbaum
!------------------------------------------------------------------!
Hannes R. Boehm
email : hannes@xxxxxxxxx
www : http://hannes.boehm.org
PGP-key : http://hannes.boehm.org/hannes-pgp.asc
!------------------------------------------------------------------!