问题
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:
You might be interested in American Fuzzy Lop combined with Preeny. It's a fuzzer that is quite simple to use and employs genetic algorithms, which in this case means that it's going to detect which changes in input bits lead to new code paths and pay more attention to those.
回答2:
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.
回答3:
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.
回答4:
I just Googled around. I have never used any of these.
- The Art of Fuzzing
- ProxyFuzz
- Sulley Fuzzing Framework
- MalyFuzz
- JBroFuzz
回答5:
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.
回答6:
Here are my recommendations mainly because of the security groups which developed them has a great reputation.
- AutoFuzz (Software) (Paper)
- SecFuzz (Software) (Paper)
Scapy is an amazing tool, but these frameworks use Scapy to do more.
回答7:
None of the proposed answers met my needs, so I wrote my own fuzzing DNS server instead.
来源:https://stackoverflow.com/questions/349791/frameworks-for-network-protocol-fuzzing