我想使用 python scapy 读取 pcap 文件,操作 TCP 有效负载(例如删除当前有效负载并将其替换为 0)并将操作的数据包写入新的 pcap 文件。
问问题
8772 次
2 回答
2
这是使用pypcap和 dpkt 的解决方案。它假定 IP 是 L2 协议。
import dpkt
from dpkt.ip import IP
from dpkt.tcp import TCP
for ts, raw_pkt in pcap.pcap(file_path):
ip = IP(raw_pkt[14:])
if(type(ip) != IP):
continue
tcp = ip.data
if(type(tcp) != TCP):
continue
do_something_with(tcp.data)
于 2012-08-17T11:58:47.490 回答
1
FTR,回答操作问题,
from scapy.all import *
with PcapWriter("output.pcap", sync=True) as outs:
with PcapReader("input.pcap") as ins:
for pkt in ins:
if TCP in pkt:
pkt[TCP].remove_payload()
outs.write(pkt)
于 2019-06-24T21:44:09.720 回答