首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改.pcap文件的时间戳范围?

如何修改.pcap文件的时间戳范围?
EN

Stack Overflow用户
提问于 2017-08-17 12:01:41
回答 1查看 7K关注 0票数 1

问题

我需要修改一个在5分钟内捕获的.pcap文件,这样它就可以模拟在20分钟内捕获的.pcap文件。问题是我不知道该怎么做。

示例

为了说明这个问题,假设我有一个.pcap文件,其中包含4个捕获的数据包p1-p4t作为启动时间,这样:

  • p1t+ 0分钟发送
  • p2t+ 1分钟发送
  • p3t+ 2分钟发送
  • p4t+ 3分钟发送

我希望得到的.pcap文件包含相同的四个数据包,但是时间戳按比例(从5分钟到20分钟),以表示以下内容:

  • p1t+ 0分钟发送
  • p2t+ 4分钟发送
  • p3t+ 8分钟发送
  • p4t+ 12分钟发送

尝试过的解决方案

  • editcap,但是我在这里可以找到的唯一选项是使用-t选项调整具有设置值的所有时间戳。

背景

我使用tcpreplay重放一个用户浏览网页的场景。我同时注入了一些依赖于我重放的文件的数据包,即通过对重放业务的实时监视并随后调整其发送的数据包来注入数据包。整个流量跟踪-即重放通信量和注入的数据包-都是使用tcpdump捕获的。由于有很多大型.pcap文件需要重播,所以我使用tcpreplay --multiplier选项来加快进程。但是,这意味着最终捕获是原始.pcap文件的压缩版本。我想“扩展”新创建的.pcap,使其与原来的大小相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-17 21:33:37

这可以通过使用Wireshark的“时移”功能来实现。

假设数据包1的时间戳是2017-08-17 12:00:00.000000,选择包1,然后选择“编辑->时移.”并将数据包1的时间设置为2017-08-17 12:00:00.000000 (即,不要更改此时间)。单击"...then set数据包“旁边的框,输入2作为数据包号,2017-08-17 12:04:00.000000作为时间戳。您会注意到,它还指出,“并推断所有其他数据包的时间”,这正是您想要的。点击申请。

在这一点上,时间戳应该调整到您想要的,虽然子秒组件可能不会完全相同于所有数据包,而且由于某种原因,甚至包1的子秒组件也不是最初指定的那样。如果您真的想保留原来的子秒组件,那么您将不得不一次调整一个包。考虑到只有4个包需要调整,这应该是可行的。不过,我可能建议为错误的次秒调整提交一份Wireshark bug报告

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45734598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档