簡體   English   中英

嘗試在 Raspberry Pi 3 上發送 ARP 請求時,Python 引發 AttributeError

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM