我是python,linux RPI和scapy的新手。 我试图使用scapy发送一些数据包。 在命令行上(仅当scapy具有超级用户权限时)
send(IP(dst="1.2.3.4")/ICMP())在python脚本上运行时,这非常有效。
from scapy.all import * p=send(IP(dst="1.2.3.4")/ICMP())引发错误
Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> send(IP(dst="1.2.3.4")/ICMP()) File "/usr/local/lib/python3.4/dist-packages/scapy/sendrecv.py",line 255, in send __gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime) File "/usr/local/lib/python3.4/dist-packages/scapy/arch/linux.py", line 326, in __init__ self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type)) File "/usr/lib/python3.4/socket.py", line 123, in __init__ _socket.socket.__init__(self, family, type, proto, fileno) PermissionError: [Errno 1] Operation not permitted<br>我试图解决它,但不能,我是新的环境因此不知道多少。 就我的搜索而言,这个问题与套接字有关。 但我仍然需要一些简单的解释来理解。
I am completely new to python, linux RPI and scapy. I am trying to send some packets using scapy. On Command Line (only if super user privileges are given to scapy)
send(IP(dst="1.2.3.4")/ICMP())This works perfectly, while running on python script.
from scapy.all import * p=send(IP(dst="1.2.3.4")/ICMP())Throws an error
Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> send(IP(dst="1.2.3.4")/ICMP()) File "/usr/local/lib/python3.4/dist-packages/scapy/sendrecv.py",line 255, in send __gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime) File "/usr/local/lib/python3.4/dist-packages/scapy/arch/linux.py", line 326, in __init__ self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type)) File "/usr/lib/python3.4/socket.py", line 123, in __init__ _socket.socket.__init__(self, family, type, proto, fileno) PermissionError: [Errno 1] Operation not permitted<br>I am trying to solve it but cannot, I am new to the environment therefore don't know much. As far as my search goes this issue is relevant to sockets. But I still need some simple explanation to understand.
最满意答案
这意味着您需要使用sudo / admin权限启动脚本。
This means that you need to start your script with sudo/admin rights.
更多推荐
发布评论