【问题标题】:Remove duplicated packets using jnetpcap使用 jnetpcap 删除重复的数据包
【发布时间】:2012-08-05 18:00:57
【问题描述】:

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

【问题讨论】:

  • Wireshark 有一个“跟随连接”选项,这似乎是一条比这条更好的路径。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多