Mike Makonnen wrote:
Lawrence Stewart wrote:
Hi Mike,

Mike Makonnen wrote:

[snip]

sharing applications which were hogging all the bandwidth. I looked for programs that would allow me to shape traffic according to the application layer protocol, but couldn't find any for FreeBSD. I found a couple: l7-filter and ipp2p, but these are Linux specific. So, I decided to write one. The result is ipfw-classifyd :
http://people.freebsd.org/~mtm/ipfw-classifyd.tar.bz2

[snip]

Unfortunately, I suspect you should have looked a bit harder: Bro (http://www.bro-ids.org/) or Snort (http://www.snort.org/), both of which are in the FreeBSD ports tree, would have saved you from reinventing the wheel.

I'm not sure they have the exact type of wheel I'm looking for :-). My understanding is that their primary function is Intrusion Detection, not traffic shaping. To use them as traffic shapers would require extra work on the sysadmin's part (scripts and other types of scotch tape). Am I wrong? The ipfw-classifyd daemon, on the other hand, works directly with ipfw(4). I suspect that for traffic shaping using ipfw-classifyd would require a lot less effort than using either of the above solutions. At the very least it's an additional tool in the FreeBSD sysadmin's arsenal.

Yes, the IDS solutions would need to trigger some sort of script to implement the shaping once P2P traffic was detected... but I'd argue that writing those scripts would be the easy bit. The tricky thing is doing all the application layer protocol parsing and identification. This is where leveraging one of these IDS solutions makes a lot of sense... a classifier is only going to be as good as its training data and IDSs are all about good training data.

All of that said, I think what you've done is neat. Perhaps you could find a way to hand off the classification decision to something like Bro so that you can utilise the existing training data and avoid having to maintain that sort of information yourself. Just thinking out loud though :)


BTW, my motivation for writing this program wasn't because there were no other tools that did this (as I mentioned I had already found Linux tools that would do this), but because I wanted a solution that uses FreeBSD and is BSD licensed :-)

For the record, Bro is BSD licenced.

Cheers,
Lawrence
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to