有人知道一个数据包生成器吗?
我们有一个联网的设备,我们想对它如何处理格式错误的数据包进行一些测试。
有没有可以生成任意数据包和数据包序列的产品?
我希望能够指定一组TCP / IP负载,它将打开一个连接并发送数据。显然,应该正确计算TCP / IP校验和,等等。
有点像反向的wireshark。
请注意,我对网络加载和爆炸数百万个数据包不感兴趣。
解决方案
Scapy应该能够做你想做的
这是我所听说的。无法评论他们有多好。
- 净花
- 帕根
- 扭曲
我们也可以始终自己编写。 PCAP文件格式已记录在案,并不十分复杂。
tcpreplay可以修改和重放pcaps。它不会凭空生成完整的协议交换,但是给定协议的pcap文件,它可以调整,修改和复制该交换以测试产品中的特殊情况。
nmap应该能够生成一些更普通的垃圾数据包。除此之外,我们还可以使用LibNet滚动自己的垃圾数据包。
我也喜欢Denton&Andrew关于重放PCAP格式数据包的建议。
我建议从Ixia这样的地方买一个硬件盒。他们的" Smartbits"框可能就是我们想要进行这种测试的地方。此类硬件工具可以进行负载测试,但也具有许多功能,可以进行功能测试和协议边界情况测试等。
我发现Colasoft的Packet Player适用于简单的任务。
http://www.colasoft.com/packet_player/
仅供参考:在安全和测试领域,这种类型的工具通常称为"模糊器"。
Taof是一种可能有趣的开源软件。
这是一个致力于模糊测试的整个网站,其中提供了模糊测试工具的列表。在该页面上查看QueFuzz和ProtoFuzz。
我知道这是一个老话题,但是为了人们从搜索引擎来这里...
我刚刚发布了一个开源,跨平台的数据包生成器/分析器Ostinato
http://ostinato.googlecode.com/
由于Wireshark是建立在WinPcap / Libpcap之上的GUI。
对于C使用WinPcap / libpcap
对于Cuse SharpPcap
对于Java,请使用JPcap
如果我们使用其他语言,请找到该语言的正确包装。
我不了解其他库,但是我知道使用SharpPcap生成数据包相对容易。 TCP的主要困难是破坏有效负载并正确处理段。由于我们将手动执行此操作,因此我们需要对TCP协议的工作原理有更深入的了解。