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 で動作するものとしてリストされています。グーグルで調べた後、答えのように見えるこの投稿に出くわしましたが、両方のリンクが機能しなくなりました。この件に関するご意見は大歓迎です。
前もって感謝します、
ライアン