在python中设置tcp MSS
我正在努力做到以下几点: (1) 接收网络包, (2) 将tcp mss(最大段大小)更改为其他值, (3) 把包裹寄出去 我正在使用python、iptables和dpkt来实现这一点,但我无法更改tcp头中的MSS(在dpkt中,如何更改pkt.tcp.opts中的MSS) 有人能帮我更改TCP头中的MSS吗 谢谢在python中设置tcp MSS,python,networking,raw-sockets,dpkt,Python,Networking,Raw Sockets,Dpkt,我正在努力做到以下几点: (1) 接收网络包, (2) 将tcp mss(最大段大小)更改为其他值, (3) 把包裹寄出去 我正在使用python、iptables和dpkt来实现这一点,但我无法更改tcp头中的MSS(在dpkt中,如何更改pkt.tcp.opts中的MSS) 有人能帮我更改TCP头中的MSS吗 谢谢 buf=pkt.tcp.opts buf = pkt.tcp.opts buf2 = "" while buf: o = ord(buf[0]) if o
buf=pkt.tcp.opts
buf = pkt.tcp.opts
buf2 = ""
while buf:
o = ord(buf[0])
if o > tcp.TCP_OPT_NOP:
l = ord(buf[1])
d = buf[2:l]
if o == tcp.TCP_OPT_MSS:
mss = struct.unpack(">H", d)[0]
mss2 = <newmss>
d2 = struct.pack(">H", mss2)
buf = buf[0:2] + d2 + buf[l:]
buf2 += buf[0:l]
buf = buf[l:]
else:
buf2 += buf[0]
d, buf = '', buf[1:]
pkt.tcp.opts = buf2
buf2=“”
而buf:
o=ord(buf[0])
如果o>tcp.tcp\u OPT\u NOP:
l=ord(buf[1])
d=buf[2:l]
如果o==tcp.tcp\u OPT\u MSS:
mss=结构解包(“>H”,d)[0]
mss2=
d2=结构包(“>H”,mss2)
buf=buf[0:2]+d2+buf[l:]
buf2+=buf[0:l]
buf=buf[l:]
其他:
buf2+=buf[0]
d、 buf='',buf[1:]
pkt.tcp.opts=buf2