【发布时间】:2019-11-22 10:17:21
【问题描述】:
我想获得一些关于如何修改 TCP 标头以及更改 TCP 标头选项的帮助。我对选项的 MSS 部分特别感兴趣。
我尝试使用不同选项的 setsockopt() 没有成功。
下面是一些试图改变 MSS 的代码:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#! Settings mss
s.setsockopt(socket.IPPROTO_TCP, socket.IP_OPTIONS , b"MSS:400")
我希望 MSS 更改为 400。代码运行但它不会更改 MSS(使用 Wireshark 检查)。
【问题讨论】:
-
b"MSS:400"不是 TCP 标头中 MSS 选项的正确值。 TCP 标头选项不是字符串,它们是数字。 MSS 是选项号 2,长度 = 4,值 = 包含值的 2 个字节。
标签: python sockets tcp packet mtu