在tcpreplay
中,有一个非常有用的功能,根据official FAQ's,使用参数-T
调用:
数据包长度(在这种情况下为8892字节)大于 传出接口上的最大传输单元(MTU)。 Tcpreplay 必须跳过数据包。或者,您可以指定 -T选项和 tcpreplay会将数据包截断为MTU大小,修复校验和 并发送。
不幸的是,-T
似乎在手册页中有所不同:
-T string, --timer=string
Select packet timing mode: select, ioport, rdtsc, gtod, nano, abstime. This option may appear up to 1 times. The default string for this option is:
gtod
Allows you to select the packet timing method to use:
nano - Use nanosleep() API
select - Use select() API
ioport - Write to the i386 IO Port 0x80
rdtsc - Use the x86/x86_64/PPC RDTSC
gtod [default] - Use a gettimeofday() loop
abstime - Use OS X's AbsoluteTime API
在更新版本的tcpreplay中,此选项是否已被删除?
答案 0 :(得分:2)
是的,它被分为tcprewrite
(转换捕获文件),然后在命令tcpreplay-edit
中合并了选项。
如果您没有处理标准1500,看起来您可能需要的与此-T选项等效的选项为-C
和--mtu-trunc
(+ --mtu=n
。 )如果问题发生在收集时,您可能需要-F
。
以下是FAQ
的更全面的说明它是用tcprewrite
编写的,但它应该与tcpreplay-edit