我需要发送一个带有时间戳值的TCP SYN数据包。因为TCP选项需要以32位的格式来打包,有没有人能简单告诉我怎么在32位的数据包中设置这个值,并给个例子?
提前谢谢你们!
你可以很轻松地用Scapy来做到这一点。当你定义TCP层的时候,只需要使用
TCP(flags='S', options=[('Timestamp', (TSval, 0))])
这里的TSval就是你的时间戳值。如果你想把生成的包转换成二进制格式,可以对它调用str()。
str()
在以后的数据包中,你可以把0替换成合适的时间戳回显,具体可以参考RFC 1323。
0