Я читаю пакеты из файла pcap и вставляю некоторый уникальный идентификатор в полезную нагрузку TCP, поэтому необходимо обновить длину уровня IP и номер последовательности и подтверждения TCP. Возможно ли это сделать с помощью scapy?
for pkt in pkt_reader_pcap:
if IP not in pkt:
continue
if TCP not in pkt:
continue
newp = pkt.payload
newp[IP].dst = 1.2.3.4
newp[IP].src = 1.2.3.4
del newp[IP].len
del newp[IP].chksum
# if pkt has TCP layer, insert field before Host to the payload
field = "Id: 1234\r\n"
insert = field + 'Host: '
http_content = newp.getlayer(Raw).load
http_content = http_content.replace(b"Host: ", insert.encode())
newp[Raw].load = http_content
newp[TCP].chksum = None
## manually updated length of IP header which works fine, but it should happen
## automatically or by some method of scapy
newp[IP].len += len(field)
Я установил контрольную сумму TCP / IP на None, но, тем не менее, номер Seq / Ack не обновляется. Есть ли способ добиться того же?