RADIUS sniffer
Nicolas Baradakis
nbk at sitadelle.com
Thu Jan 19 19:16:58 CET 2006
Alan DeKok wrote:
> Comments:
>
> - use #ifdef HAVE_FOO_H around the #includes, and wrap the whole
> radsniff.h in #ifdef HAVE_PCAP_H. There's some crazy system out there
> with libpcap, but not pcap.h, and it's admin will complain to the list.
I've catched this case in a different manner, but it could be changed:
If the autoconf test for pcap.h fails, the content of PCAP_LIBS is
deleted, and radsniff.c isn't compiled at all.
> - the code you're copying from lib/radius.c could be abstracted a bit
> better, so you don't have to copy it. I've started down some of that
> path with the rad_encode, rad_sign, etc. functions. We could do more.
You're right. I just copy/paste the code to get something that works
without modifing the files in src/lib, but indeed it can be improved.
For that purpose I've left the changed code in comments to point out
what is different.
> Also, the Ethereal people have grabbed the FreeRADIUS dictionaries
> whole-sale. So Ethereal can understand *most* of the attributes
> FreeRADIUS understands. I've still got to send them a patch to handle
> USR, Lucent, and Starent VSA's. But once that's done, they'll be as
> capable as FreeRADIUS.
That would be good. Ethereal displays a lot more information about
the packet than I do in "radsniff". But depending on the situation
it is also annoying to have 50+ lines of text for each packet when
running "tethereal -V". I like better something that looks like the
output of "radiusd -X". (and I like better writing a filter rule with
the "users" file syntax to match a RADIUS packet)
--
Nicolas Baradakis
More information about the Freeradius-Devel
mailing list