Open Source Fuzzing Tools

Fuzzing tools typically fall into one of three categories: fuzzing frameworks, specialpurpose tools, and general-purpose fuzzers.
Fuzzing frameworks are good if you are looking to write your own fuzzer or need to fuzz a customer or proprietary protocol. The advantage is that the tool set is provided by the framework; the disadvantage is that all open source fuzzing frameworks are far from complete and most are very immature.
Special-purpose tools are usually fuzzers that were written for a specific protocol or application. While they can usually be extended, they are fairly limited to fuzzing anything outside the original scope of the project. In addition, in many cases general-purpose fuzzers are very partial, as the writers tend to use them to find a few holes in a protocol/application and then move on to more interesting things, leaving the fuzzer unmaintained.
General-purpose tools are neat, if they work. They typically don't, and those that do are too general and lack optimization to be very useful.
However, the existence of open source fuzzers is a good starting point to start fuzzing with minimal effort, and to get ideas on how fuzzing should be done and how it works.
The following list is an almost complete compilation of open source tools. Only tools whose source code is accompanied with the binary form, or have a source code version of them, are listed here.
Fuzzing frameworks will help you write your own fuzzer.
From the Web site: "Peach is a cross-platform...