[英]Python raises AttributeError when attempting to send ARP request on Raspberry Pi 3
我正在開發一個程序,該程序使用 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)
我也遇到了同樣的問題(我使用的是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)
錯誤是因為我的樹莓派安裝了不同版本的 scapy,並且出於某種原因,它不會卸載該版本。 完全重置我的 RPi 並安裝正確版本的 scapy (2.3.3) 后,代碼現在運行正常。
謝謝 Foon 為我指明了正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.