2

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

4

2 回答 2

0

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

Tcp tcp = new Tcp();
tcp.seq();
于 2012-10-08T12:04:40.857 回答
0

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

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

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

现在重新传输(又名重复)......

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

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

于 2015-06-10T19:16:21.213 回答