如果我理解正确,那么您遇到的问题是您想使用新的标头更新现有的HTTP请求。您想要的是就地更新一个字符串,Python无法直接这样做(字符串是不可变的)。
因此,您应该采取的是HTTP标头:
old_hdr = pkt[Raw]要么
old_hdr = pkt[TCP].payload
并像字符串一样操作它:
new_hdr = 'New Header: value'hdr = old_hdr.split('rn') # This is a crappy hack. Parsing HTTP headershdr.insert(new_hdr, 2) # is a [solved problem][1].send_hdr = 'rn'.join(hdr)pkt[TCP].payload = send_hdr如果发现校验和没有更新,请在发送数据包之前将其删除:
del pkt[TCP].chksum
Scapy会以正确的价格将它们放回给您。
编辑:我只是注意到我的链接失败。这是解析HTTP标头的方法。



