我正在尝试做以下几件事:
(1)接收网络分组;(2)改变tcp mss (最大段大小)设置为不同的值,(3)将数据包发送出去。
我正在使用python,iptables和dpkt来做这件事,但是我不能改变tcp头中的MSS (在dpkt中,我如何在pkt.tcp.opts中改变mss )?
有没有人可以帮我修改TCP报头中的MSS?
谢谢!
发布于 2014-12-22 08:39:46
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 = buf2https://stackoverflow.com/questions/27594448
复制相似问题