将pcap文件解析为txt文件

时间:2016-01-04 02:50:44

标签: python parsing pcap packets dpkt

如何解析pcap文件并将其转换为文本文件,其中文本文件中的每一行都是一个数据包?

我尝试将其写入文本文件,如下所示,但是当我打印eth时会显示特殊字符。因此,当我尝试将其写入文本文件时,会出现以下错误。

TypeError:期望一个字符缓冲区对象

import dpkt

f1 = open('temp.pcap')
pcap = dpkt.pcap.Reader(f1)
f2 = open('tempMan.txt', 'w')

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    print eth
    f2.write(eth)

1 个答案:

答案 0 :(得分:0)

您可以尝试将您的etc对象转换为字符串

print str(etc) 

然而,你并没有更容易让自己喜欢上限。

了解正在发生的事情的更好机制是使用优秀的scapy软件包(pip install scapy)

原因是可怕的是帮助您理解IP堆栈的结构 - 并在其中访问变量。