首页 > 解决方案 > 如何使用 Python 的套接字库更改 TCP 标头和选项

问题描述

我想就如何修改 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 检查)。

标签: pythonsocketstcppacketmtu

解决方案


使用该TCP_MAXSEG选项。

s.setsockopt(socket.IPPROTO_TCP, socket.TCP_MAXSEG, 400)

推荐阅读