我有大约 10GB 的 pcap 数据和 IPv6 流量来分析存储在 IPv6 标头和其他扩展标头中的信息。为此,我决定使用 Scapy 框架。我试过rdpcap函数,但对于这么大的文件,不推荐使用。它试图将所有文件加载到内存中并在我的情况下卡住。我在网上发现在这种情况下建议使用嗅探,我的代码如下:
def main():
sniff(offline='traffic.pcap', prn=my_method,store=0)
def my_method(packet):
packet.show()
Run Code Online (Sandbox Code Playgroud)
在名为my_method 的函数中,我分别接收每个数据包,我可以解析它们,但是....当我使用内置框架方法调用show函数时,我得到了这样的东西:

在wireshark中打开时,我得到了正确的数据包:

你能告诉我如何在 scapy 中解析这个数据包以获得正确的结果吗?
编辑:根据评论中的讨论,我找到了一种用 Python 解析 PCAP 文件的方法。在我看来,最简单的方法是使用 pyshark 框架:
import pyshark
pcap = pyshark.FileCapture(pcap_path) ### for reading PCAP file
Run Code Online (Sandbox Code Playgroud)
可以使用 for 循环轻松迭代读取文件
for pkt in pcap:
#do what you want
Run Code Online (Sandbox Code Playgroud)
对于解析 IPv6 标头,以下方法可能有用:
pkt['ipv6'].tclass #Traffic class field
pkt['ipv6'].tclass_dscp #Traffic class DSCP field
pkt['ipv6'].tclass_ecn #Traffic class ECN field
pkt['ipv6'].flow #Flow label …Run Code Online (Sandbox Code Playgroud) 我读了一篇关于新隐写方法的文章:“时间站在我这边:文件系统元数据中的隐写术” http://www.sciencedirect.com/science/article/pii/S1742287616300433。这很有趣,让我思考一件事。
是否可以在 Linux 操作系统中使用 C 或任何其他语言来操作文件修改/访问/更改时间元数据?我找到了使用触摸命令的方法,但它创建了具有特定标记值的文件。我想找到一种方法来修改现有元数据。