PyShark中进行数据包分析的两个典型方法是使用FileCapture和LiveCapture模块。前者从一个存储的捕获文件中导入u数据包,后者将使用本机的网络接口进行嗅探。使用这两个模块都会返回一个capture对象。我们首先来了解一下这两个模块如何使用。
两个模块提供相似的参数来控制 capture 对象中返回的数据包。下面的定义直接从模块的docstring中获取:
- interface: [仅用于LiveCapture] 进行嗅探的网络接口。如果没有给出,使用可用的第一个接口。
- bpf_filter: [仅用于LiveCapture] 在嗅探时使用的BPF(tcpdump)过滤条件。
- input_file: [仅用于FileCapture] 保存的捕获文件的路径(PCAP, PCAPNG格式)。
- keep_packets: 设定在调用函数之后是否保留之前读取的数据包。用于在读取较大的捕获时节省内存。
- display_filter: 设定在读取捕获时使用的display过滤条件(即Wireshark过滤器)。