如何使用 scapy 读取保存的 pcap 文件中的 TCP 协议数据?

How to read TCP protocol data in a saved pcap file using scapy?

我正在尝试使用 scapy 读取 Pcap 文件

from scapy.all import *


logfile = rdpcap('./Pcap/112400.pcap')

print(logfile)

输出

pcap: TCP:0 UDP:0 ICMP:0 Other:313

现在,当我在 wireshark 中打开同一个文件时,我可以在协议列下看到 TCP 存在,在信息列下数据存在

`309    14:48:49.054000 2409:4040:f11:6385::fca:8000    2405:200:1601:c6e2:49:40:6:206  TCP [TCP Keep-Alive ACK] 59275 → 1883 [ACK] Seq=329 Ack=9 Win=23032 Len=0

如何使用 scapy plz 指南获取此信息?

您可能想要创建一个列表,您可以在其中进一步处理各个数据包。

from scapy.all import *
from pprint import pprint


logfile = rdpcap('test.pcap')

pprint(list(logfile))

Scapy 有很多内置的功能。赔率是你试图做的任何内置的。 Scapy recipes

希望对您有所帮助,祝您好运。

如果您有混合协议,那么这可能有助于过滤您正在寻找的内容,并进一步作为如何访问数据包详细信息的示例。

for p in logfile:
    if TCP in p:
        print(p[TCP])