过滤 IPv6 数据包的嗅探器

Posted

技术标签:

【中文标题】过滤 IPv6 数据包的嗅探器【英文标题】:Sniffer that filters IPv6 packets 【发布时间】:2014-08-28 13:37:20 【问题描述】:

我有一个使用 Pythonpcapy 的简单数据包嗅探器。

pc = pcapy.open_live(str(self.port), max_bytes, promiscuous, read_timeout)
#My problem is here
pc.setfilter('???')
pc.loop(-1, self.recv_pkts) 

我需要丢弃所有 IPv6 数据包并捕获其他所有数据(包括纯 L2 数据包等)。 应该可以使用 setfilter() 函数来做到这一点,但是我找不到任何关于如何传递所有内容的示例。我真的不想在 python 中手动解析每个数据包并检查它是否不是 IPv6

【问题讨论】:

【参考方案1】:
pc.setfilter('not ip6')

参考:http://www.tcpdump.org/manpages/pcap-filter.7.html

【讨论】:

非常感谢您的帮助!

以上是关于过滤 IPv6 数据包的嗅探器的主要内容,如果未能解决你的问题,请参考以下文章

捕获的包,怎么都是乱码啊,我用winPcap作的嗅探器,读出来的包都是乱码,怎么回事啊? 难道要加入新的线程

Scapy 数据包嗅探器触发对每个嗅探数据包的操作

Python写的嗅探器——Pyside,Scapy

用嗅探器探数据包时的工作原理 ?

网络嗅探器怎么用啊?

网络安全:基于ARP欺骗的嗅探原理