Ethereal-dev: Re: [ethereal-dev] Ethereal on SINIX machines

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Fri, 1 Oct 1999 13:49:20 -0700 (PDT)
> > ...which means "port 111 or 2049" won't work as a way to identify RPC
> > requests; the heuristic I used in another program was:
> stuff deleted: CALL/RPC version/known RPC program number or REPLY/XID
> This is the method tcpdump uses for the dissection. It is the right way.

It uses that for dissection, but it doesn't use that to *recognize* RPC
requests - it only checks for ports 111 and 2049, which works *only* for
portmapper/rpcbind and NFS.

> The other RPC services (YP, mount, lock etc.) dont have a fixed port, so the
> best way is to use the heuristic method

...which, once it's implemented, recognizes portmapper/rpcbind and NFS
as well as the others, so there's no need to handle 111 or 2049
specially.

> or even better, remember the replies from portmapper
> getport/getaddr/dump.

Which works only if there *are* replies from the portmapper in the
capture; that's not always the case in captures one needs to look at
(and if you do the heuristics, you don't need that).

> Thanks for the hint but allow me a short note: I work full time on the NFS
> implementation for ReliantUNIX. I know RPC.

Yes - the comments were "for the record" (and for folks not familiar
with ONC RPC).