0

我必须获取有关 pcap 文件的 lipcap 版本和链接层的信息。所以,我通过 Python 编写代码。但是,我不太了解蟒蛇。

我的代码如下:

import dpkt
import socket
import sys

f = open('filename')
pcap = dpkt.pcap.Reader(f)

for ts, buf in pcap:
    print ts, len(buf)
4

1 回答 1

0

我必须获取有关 pcap 文件的 lipcap 版本和链接层的信息。

对于链路层标头类型,快速查看 dpkt 代码似乎有一个datalink用于 a 的方法Reader,它返回链路层标头类型,因此请尝试pcap.datalink.

至于 libpcap 版本:

我想获取我创建的文件的 libcap 版本。

不幸的是,1)并非所有 pcap 文件都是用 libpcap 创建的,2)pcap 文件中没有地方存储 libpcap 版本(有一个版本字段,但它用于文件格式的版本号,而不是),所以无法从捕获文件中获取创建文件时使用的 libpcap 版本 - 该信息不在文件中,也不可能在文件中(没有放置它的地方,也不能保证libpcap 一开始就参与了文件的创建)。

于 2015-09-28T22:15:18.717 回答