我正在尝试使用 UDP 协议(protocol)发送数据包。我在 Ubuntu 上运行 Python 3 并使用 scapy。但是,我收到以下错误消息:“AttributeError:'L2Socket'对象没有属性'ins'”。完整的错误消息如下所示。
我在这里读到https://github.com/secdev/scapy/issues/1868可能是无法以 root 身份运行的问题,因为 Ubuntu 是通过虚拟机运行的。非常欢迎任何帮助!
这些是有问题的代码行:
from scapy.all import *
packet = IP(dst="127.0.0.1")/UDP(dport=123)/Raw(load="123")
send(packet)
最佳答案
您需要以 root (sudo) 身份启动 Scapy。
仔细查看错误:它首先显示“不允许操作”。 您引用的错误是第一个失败的结果。
已经报告多次,第二个错误已在 master 上修复:https://github.com/secdev/scapy/issues/1942
Scapy 将无法在没有 root 的情况下运行打开原始套接字。这是 Linux 的限制。
关于python - 使用发送命令时,“L3PacketSocket”对象没有属性 'ins',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55881295/