网络协议模糊测试的框架?

时间:2008-12-08 15:01:06

标签: networking network-protocols fuzzing

任何人都可以推荐任何程序员友好(即可扩展)的框架或系统来执行网络级别数据包fuzzing吗?

我正在寻找这样一个系统,我可以用其他数据包格式编程,并以协议相关的方式打破这些数据包。

我知道如何使用Google。我正在寻找具体的建议:)

谢谢!

7 个答案:

答案 0 :(得分:4)

Scapy看起来非常友好。它是用Python编写的。

您使用Python命令解释程序作为其命令解释程序。它有非常好的文档。它看起来很容易使用和理解。

API看起来不错;用“pythonic”风格写成。它看起来非常完整,并且正在积极开发中。

答案 1 :(得分:3)

我可以推荐Sulley fuzzing framework。它是一个python框架,擅长于它的工作。

如果您想要第2层协议模糊检查,请查看ernw.de上的人们所做的出色工作:

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

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

您对模糊测试有什么特别的协议?

更新:在您定位DNS时,您应该查看PROTOS test suite,特别是DNS module。这是一个封闭的源代码包,所以你不能像框架一样使用它,但如果PROTOS不够彻底,你总是可以编写一个Sulley模块来满足你的特定需求。

答案 2 :(得分:3)

您可能会对American Fuzzy LopPreeny感兴趣。它是一个非常简单易用的模糊器,采用遗传算法,在这种情况下,它意味着它将检测输入位中的哪些变化导致新的代码路径,并更加关注那些。

答案 3 :(得分:2)

我只是用Google搜索。我从来没有使用过这些。

答案 4 :(得分:1)

如果你喜欢Perl,我知道fuzzled作为一个框架非常好:http://www.securiteam.com/tools/5FP0Q1PKUS.html

JborFuzz和大多数其他模糊器不会这样做,因为它们不是设计为框架,当然不适用于网络级别。

答案 5 :(得分:1)

所提出的答案都没有满足我的需求,所以我写了my own fuzzing DNS server而不是。

答案 6 :(得分:1)

以下是我的建议,主要是因为开发它们的安全组织有很高的声誉。

Scapy 是一个了不起的工具,但这些框架使用Scapy做更多工作。