问题描述
- tcp包时间戳usec与sec之间怎么配合
-
我写自己的pcap文件,第一个tcp包时间戳sec和usec都是0,之后usec递增1,可是
写出来的pcap文件里,包的时间是这样的:
usec是32bit的,它的哪一位对应时间的哪一位呀?怎样可以让tcp包的时间逐渐增加呢?
解决方案
- 首先,pcap文件有个24字节的文件头。
- 每个pcap包,可以认为有4个无符号整型(4字节),共16字节。
- 分别是 sec,usec,caplen,pktlen
- 这四个字节都是小端写入pcap文件的,什么意思呢?
- 比如 文件中读出来是:0x 0102 0304,则实际上是 0x 0403 0201
- 所以,如果你想递增写包,则每个包的sec 和 usec 应该这样写:
0x 0000 0000 0100 0000
0x 0000 0000 0200 0000
......
下面截图是我手动修改一个pcap时间之后,得到的:
时间: 2025-01-11 12:16:42