0

我正在尝试使用 PyPy 和 Scapy 嗅探无线适配器。我在 Ubuntu Linux 上,所以我使用 airmon-ng 将我的卡置于监控模式,打开一个 REPL,然后输入以下内容(在导入 scapy 之后):

sniff(prn=lambda pkt: pkt.summary(), iface='mon0')

这在 CPython REPL 中运行良好。但是,在 PyPy REPL 中,我收到以下错误:

Traceback (most recent call last):
    File "<console>", line 1, in <module>
    File "scapy/sendrecv.py", line 550, in sniff
        s = L2socket(type=ETH_P_ALL, *arg, **karg)
    File "scapy/arch/linux.py", line 452, in __init__
        self.ins.bind((iface, type))
    File "<string>", line 1, in bind
error: unknown address family

如果我关闭监控模式并尝试嗅探标准适配器 (wlan0),也会发生这种情况。但是,它似乎确实适用于非无线接口 (eth1)。

PyPy 兼容性索引将 Scapy 列为使用 PyPy。经过一番谷歌搜索,我发现这篇文章看起来可能是一个答案,但两个链接都不再有效。任何有关该主题的意见将不胜感激。

先感谢您,

瑞安

4

2 回答 2

0

我认为某些数据包类型支持不适用于所有架构。你需要说出你想在什么平台上使用它(OS X、Linux、Windows)以及至少 PyPy 的版本。另外,bugs.pypy.org 是正确的地方,而不是这里。

于 2013-01-18T09:37:21.380 回答
0

当 scapy 没有以足够的权限运行时,我得到了这个错误。尝试以系统管理员身份运行它。

于 2014-06-19T19:46:10.427 回答