在采用通常的socket抓包方式下,操作系统会自动将收到包的VLAN信息剥离,导致上层应用收到的包不会含有VLAN标签信息。而libpcap虽然是基于socket实现抓包,但在收到数据包后,会进一步恢复出剥离的VLAN信息,能够满足需要抓取带VLAN标签信息的数据包的需求场景。libpcap-0.9.4python-pypcap-1.15,该包依赖libpcap-0.9.4可以通过在python交互式环境下运行import pcap,如果导入成功,说明python-pypcap-1.15已成功安装。2)设置过滤规则fpcap.setfilter此处inbound表示抓取所有发送到该接口的包,不抓取从该接口发送出的数据包,规则的设置同tcpdump抓包设置过滤规则相同。然后再通过p.time = timestamp将时间戳信息更新到包中。后续就可以按照处理scapy的Ether类型包的方式进行进一步包处理。下述代码实现了一个线程类,能够在指定的接口iface上抓取进入该接口的包并打印包概要信息。
暂无评论