【问题标题】:Missing packets after merging two files wih Wireshark/mergecap使用 Wireshark/mergecap 合并两个文件后丢失数据包
【发布时间】:2016-06-26 05:00:22
【问题描述】:

我有两个 pcapng 文件。每一个都是发生在同一路由器但在不同接口上的流量捕获。

因为我想在全球范围内研究路由器协议的行为,所以我想将这两个文件合并为一个,这样研究不同的协议会更容易。

我用过mergcap这个工具,比如:

mergecap -w new_file.pcapng file1.pcapng file2.pcapng

根据mergecap的手册,文件会根据每个file1.pcapng和file2.pcapng中每个包的时间戳,按时间顺序进行合并。

我现在面临的问题是,在合并之后,我在 file1.pcapng 中的数据包在 new_file.pcapng 上找不到具有相同时间戳。

以前有人做过类似的事情吗?我正在使用mergecap 2.0.2。

谢谢!

卢卡斯

【问题讨论】:

  • 如果你这样做View > Time Display Format > Date and Time of Day它仍然存在?
  • 嗨@grochmal!是的,确实,在遵循您的建议后,我得到了按时间顺序排列的合并数据包......感谢您的提示!
  • 很酷,这意味着您在同一台机器上收集了数据包(我很困惑,因为有些人说“在路由器上收集”,他们实际上是指“在连接到路由器的机器上连接”)。一会儿我会补充完整的解释,包括合并不同机器上的文件的情况。

标签: merge wireshark pcap-ng


【解决方案1】:

默认情况下wireshark 从第一个捕获的数据包开始按时间顺序排列数据包。由于您合并了两个捕获文件,因此您有两个数据包是捕获的开始,但其中只有一个是文件中的第一个数据包。在合并捕获的情况下,根据第一个捕获的数据包按时间对齐数据包没有意义。

公平地说,如果wireshark 在选择首先捕获的数据包之前按时间顺序对所有数据包进行排序,这可能是有意义的。目前,文件中的第一个数据包默认是时间参考(见time references)。

谢天谢地wireshark 将数据包时间存储为自 EPOCH 以来的时间戳。这允许使用View > Time Display Format 中的几个选项按时间顺序对齐合并文件中的数据包。


来自不同机器的捕获

上面有一个限制:由于时间戳是基于EPOCH的,如果你从不同的机器抓包,你需要确保这些机器的时钟是对齐的。

如果您的捕获文件来自不同的机器并且这些机器上的时钟未对齐,您需要在合并之前移动其中一个捕获的时间戳。反过来,这可以通过 wiresharks Edit > Time Shift 来实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多