如何使用python构建tcp SYN数据包时设置tcp选项时间戳?

时间:2011-02-22 18:52:39

标签: python tcp 32-bit

我需要在tcp选项中发送带有timestamp值的tcp SYN数据包。由于tcp opts应该以32位表示形式预先打包,任何人都可以通过示例向我介绍如何设置32位数据包表示中的值。

提前致谢

1 个答案:

答案 0 :(得分:0)

您应该可以使用Scapy轻松完成此操作。定义TCP层时,只需使用

TCP(flags='S', options=[('Timestamp', (TSval, 0))])

其中TSval是您的时间戳值。如果要将结果数据包转换为二进制表示,请在其上调用str()

在将来的数据包中,您可以使用RFC 1323的相应TS回复回复替换0