问题
我需要修改一个在5分钟内捕获的.pcap文件,这样它就可以模拟在20分钟内捕获的.pcap文件。问题是我不知道该怎么做。
示例
为了说明这个问题,假设我有一个.pcap文件,其中包含4个捕获的数据包p1-p4和t作为启动时间,这样:
p1在t+ 0分钟发送p2在t+ 1分钟发送p3在t+ 2分钟发送p4在t+ 3分钟发送我希望得到的.pcap文件包含相同的四个数据包,但是时间戳按比例(从5分钟到20分钟),以表示以下内容:
p1在t+ 0分钟发送p2在t+ 4分钟发送p3在t+ 8分钟发送p4在t+ 12分钟发送尝试过的解决方案
editcap,但是我在这里可以找到的唯一选项是使用-t选项调整具有设置值的所有时间戳。背景
我使用tcpreplay重放一个用户浏览网页的场景。我同时注入了一些依赖于我重放的文件的数据包,即通过对重放业务的实时监视并随后调整其发送的数据包来注入数据包。整个流量跟踪-即重放通信量和注入的数据包-都是使用tcpdump捕获的。由于有很多大型.pcap文件需要重播,所以我使用tcpreplay --multiplier选项来加快进程。但是,这意味着最终捕获是原始.pcap文件的压缩版本。我想“扩展”新创建的.pcap,使其与原来的大小相同。
发布于 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报告。
https://stackoverflow.com/questions/45734598
复制相似问题