Python 3.x 修复python中scapy.all模块中的错误

Python 3.x 修复python中scapy.all模块中的错误,python-3.x,linux,scapy,Python 3.x,Linux,Scapy,通过scapy写入网络扫描仪时: import scapy.all as scapy arp = scapy.ARP(pdst='192.168.1.1/24') broadcast = scapy.Ether(dst='ff:ff:ff:ff:ff:ff') final_packet = broadcast/arp answered , unanswered = scapy.srp(final_packet,timeout=1) print(answered.summary()) 然后

通过scapy写入网络扫描仪时:

import scapy.all as scapy

arp = scapy.ARP(pdst='192.168.1.1/24')
broadcast = scapy.Ether(dst='ff:ff:ff:ff:ff:ff')

final_packet = broadcast/arp

answered , unanswered = scapy.srp(final_packet,timeout=1)
print(answered.summary())
然后我得到了以下错误:

Traceback (most recent call last):
  File "network_scanner.py", line 8, in <module>
    answered , unanswered = scapy.srp(final_packet,timeout=1)
  File "/home/mohammad/.local/lib/python3.6/site-packages/scapy/sendrecv.py", line 504, in srp
    filter=filter, nofilter=nofilter, type=type)
  File "/home/mohammad/.local/lib/python3.6/site-packages/scapy/arch/linux.py", line 467, in __init__
    self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type))  # noqa: E501
  File "/usr/lib/python3.6/socket.py", line 144, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
PermissionError: [Errno 1] Operation not permitted
回溯(最近一次呼叫最后一次):
文件“network_scanner.py”,第8行,在
已应答,未应答=scapy.srp(最终_数据包,超时=1)
文件“/home/mohammad/.local/lib/python3.6/site packages/scapy/sendrecv.py”,第504行,在srp中
过滤器=过滤器,无过滤器=无过滤器,类型=类型)
文件“/home/mohammad/.local/lib/python3.6/site packages/scapy/arch/linux.py”,第467行,在__
self.ins=socket.socket(socket.AF_包,socket.SOCK_原始,socket.htons(类型))#noqa:E501
文件“/usr/lib/python3.6/socket.py”,第144行,在__
_socket.socket.\uuuuu init\uuuuu(self、family、type、proto、fileno)
PermissionError:[Errno 1]不允许进行操作

如何修复它?

您应该以root用户身份运行脚本

发送数据包需要Root权限


来源:

您应该以root用户身份运行脚本

发送数据包需要Root权限

资料来源: