首页 > 解决方案 > Python 在 Raspberry Pi 3 上尝试发送 ARP 请求时引发 AttributeError

问题描述

我正在开发一个使用 Raspberry Pi 3 上的 ARP 请求自动扫描本地网络的程序。该代码在我的计算机上运行良好,但是当我尝试在我的 Raspberry Pi 上运行它时,它失败并出现以下错误:

File "/usr/local/lib/python2.7/dist-packages/scapy/base_classes.py", 
line 241, in __getattr__
    raise AttributeError(attr)
AttributeError: who_has

引发此错误的代码如下:

from scapy import *

result, unanswered = sr(ARP(op=ARP.who_has, psrc="192.168.0.79", pdst="192.168.0.1"), timeout=3)

标签: pythonpython-2.7raspberry-piraspberry-pi3scapy

解决方案


我也遇到了同样的问题(我正在使用scapy 2.4.4),所以这里有另一个可能对你们中的一些人有用的解决方案:

我刚刚通过编码op="who-has"而不是op=ARP.who_has.

from scapy import *

result, unanswered = sr(ARP(op="who-has", psrc="192.168.0.79", pdst="192.168.0.1"), timeout=3)

推荐阅读