使用jnetpcap删除重复的数据包

时间:2012-08-05 18:00:57

标签: java networking packet-capture packet-sniffers jnetpcap

我在Java中有一个使用jnetpcap库分析.pcap文件的应用程序。我需要删除所有重复,重新传输和无序的数据包。有什么方法可以使用jnetpcap库来做到这一点吗?至少要删除重复的数据包。

2 个答案:

答案 0 :(得分:0)

您可以使用序列号并重复检查。如果现在序列号小于或等于最后一个有效序列号,则可以删除它。您可以使用seq()函数获取序列号。

Tcp tcp = new Tcp();
tcp.seq();

答案 1 :(得分:0)

注意:jnetpcap库当前不支持TCP重组,这是执行您请求的复杂功能所必需的。但是,通过匹配可以相对容易地完成其中的部分或全部。

将请求与响应匹配并删除重复项

请求的源端口将匹配响应的目标端口。 请求的确认将与响应的seq匹配。 这应该有助于将一个请求与一个响应匹配。

现在有重传(又名重复)......

重传请求将具有与其对应方相同的信息。相同的src,dst,ack和seq编号。

如果您与我联系,我对pcap文件和数据包了解得更多。