python - 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)
解决方案
我也遇到了同样的问题(我正在使用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)
推荐阅读
- excel - 在另一个 Excel 文件中运行另一个宏
- webpack - topLevelAwait 对 babel-loader 无效:“await”只允许在异步函数中使用
- sapui5 - SmartTable 如何使用 setIgnoredFields 方法
- python - 在 Windows 10 中使用 wxpython 时视频变为“无响应”
- sql - 每个分区获取一行的最快方法
- php - Laravel:将数据从数据库传递到路由
- c++ - (C++)如何在不同的cpp文件中调用变量名或者获取变量的值?
- html - 如何垂直对齐图像?
- flutter - Flask HTTP 阻止来自 Flutter 应用程序的发布请求
- assembly - 这个 start.S 文件上 Zircon (Fuchsia) 内核上运行的第一个代码在哪里?