5

我比较了两个工具的发送数据包速度,hping以及packETHcli. packETHcli 的命令行选项是

./packETHcli -i eth0 -m 2 -n 0 -d -1 -f icmpSample.pcap

而对于 hping 是

hping --flood 192.168.0.1

但是在iptraf中显示hping的发包速度比packETHcli快10倍左右。

两种工具都使用原始套接字,但为什么会有如此大的差异?

这是获取源代码的链接。

hping:http ://wiki.hping.org/

packETHcli:http: //sourceforge.net/projects/packeth/

编辑: 我注意到hping使用 AF_INET 原始套接字,有效负载是 TCP。packETHcli使用 PF_PACKET 原始套接字,在我的示例中,有效负载是带有 ICMP 有效负载的 IP 数据包。它会影响数据包发送速度吗?

编辑2

这次,我使用 ifconfig 来查找运行前后的 TX 数据包计数hping3差异packETHcli。并且发现这两个工具的数据包生成率接近。hping3大约是每秒 100000 个数据包,packETHcli大约是每秒 80000 个数据包。

我也vnstat用来测量数据包的生成率。结果与我从中得到的数字一致ifconfig

所以,这似乎是iptraf谎言。并且我iptraf用来监控一个TCP数据包的重复重发,而不更新IP ID号和TCP序列号。iptraf认为我的数据包发送速率是每秒 0 个数据包。可能iptraf不计算重复的数据包?

4

1 回答 1

0

*.pcap 文件中有每个数据包的时间戳信息。而且我认为工具packETHcli是在解析*.pcap文件,使用时间戳信息来模拟捕获*.pcap文件的网络环境,这意味着它必须根据时间戳在数据包之间添加一些延迟。

虽然 hping 没有。

我认为这就是区别。

如果是这样,packETHcli 工具中是否有任何选项支持加快数据包发送速度?

于 2013-03-13T09:55:11.407 回答