为什么用libpcap注入的数据包是重复的?

时间:2010-05-13 11:25:24

标签: networking libpcap sharppcap

我正在使用sharppcap来发送数据包作为监控系统的一部分。通常它运行良好,但我遇到了托管的Vista机器上最奇怪的错误,我希望得到你的帮助。

在该虚拟vista机器上,注入的数据包是重复的。也就是说,如果我使用libpcap发送ping请求,它会以某种方式重复,并在目标计算机上收到两个请求。这两个请求在字节方面几乎完全相同,它们之间的唯一区别是第二个数据包的TTL字段是一个减去原始数据包的值。

使用wireshark我可以看到数据包在它(和它的克隆)离开vista机器之前被复制了。 即使使用其他工具使用libpcap(即PlayCap)注入数据包,也会出现问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

克隆数据包中较低的TTL字段表示它已经经历了比另一个数据包多一个路由跳。这似乎表明数据包已通过Vista机器的输入数据包队列(并被路由回去)以及直接到其输出队列。