views:

676

answers:

5

Can anyone recommend any programmer-friendly (i.e. extensible) frameworks or systems for performing network level packet fuzzing?

I'm looking for such a system where I can program in additional packet formats and various ways of breaking those packets in a protocol-dependent manner.

I know how to Google. I'm looking for specific recommendations :)

thanks!

+1  A: 

I just Googled around. I have never used any of these.

eed3si9n
I think some of these are kind of stale. TAoF has not been updated in several years
JohnnySoftware
+2  A: 

I can recommend the Sulley fuzzing framework. It's a python framework and good at its job.

If you want layer 2 protocol fuzzing check out the great work by the people at ernw.de:

http://www.ernw.de/download/l2sulley_04-15-08.tar.bz2

http://www.ernw.de/download/l2_fuzzing_shmoo08.pdf

What protocols in particular are you interested in fuzzing?

UPDATE: As you are targeting DNS you should check out the PROTOS test suite, in particular their DNS module. This is a closed source Java package though, so you wont be able to use it like a framework, but you can always write a Sulley module to suite your specific needs if PROTOS isn't thorough enough.

QAZ
DNS in particular
Alnitak
A: 

I know fuzzled is really good as a framework, if you fancy with Perl : http://www.securiteam.com/tools/5FP0Q1PKUS.html

JborFuzz and most of other fuzzers won't do it since they are not designed as a framework, certainly not for network level.

dr. evil
A: 

None of the proposed answers met my needs, so I wrote my own fuzzing DNS server instead.

Alnitak
+1  A: 

Scapy looks really programmer friendly. It is written in Python.

You use the Python command interpreter as its command interpreter. It has very nice documentation. It looks easy to use and understand.

API looks decent; written in a "pythonic" style. It looks very complete and it is under active development.

JohnnySoftware