尝试使用“时出错”;“追踪路线”;来自python终端中scapy模块的函数。操作系统:ubuntu 18.04

尝试使用“时出错”;“追踪路线”;来自python终端中scapy模块的函数。操作系统:ubuntu 18.04,python,scapy,ubuntu-18.04,Python,Scapy,Ubuntu 18.04,我在python终端上键入了以下内容: from scapy.all import * traceroute("gmail.com") 出现以下错误: File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.6/dist-packages/scapy/layers/inet.py", line 1428, in traceroute timeout=timeout, filter=f

我在python终端上键入了以下内容:

from scapy.all import *
traceroute("gmail.com")
出现以下错误:

File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/dist-packages/scapy/layers/inet.py", 
line 1428, in traceroute
    timeout=timeout, filter=filter, verbose=verbose, **kargs)
  File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", 
line 326, in sr
    s = conf.L3socket(filter=filter, iface=iface, nofilter=nofilter)
  File "/usr/local/lib/python3.6/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.6/socket.py", line 144, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
    PermissionError: [Errno 1] Operation not permitted
文件“”,第1行,在
文件“/usr/local/lib/python3.6/dist-packages/scapy/layers/inet.py”,
第1428行,追踪路线中
超时=超时,过滤器=过滤器,详细=详细,**卡格斯)
文件“/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py”,
第326行,在sr中
s=conf.L3socket(filter=filter,iface=iface,nofilter=nofilter)
文件“/usr/local/lib/python3.6/dist-packages/scapy/arch/linux.py”,
第326行,在_init中__
self.ins=socket.socket(socket.AF_包,socket.SOCK_原始,
插座(型号)
文件“/usr/lib/python3.6/socket.py”,第144行,在__
_socket.socket.\uuuuu init\uuuuu(self、family、type、proto、fileno)
PermissionError:[Errno 1]不允许进行操作

我已经尝试过在网上搜索解决方案,但没有成功。我很高兴在我遇到的这个问题上得到帮助;提前感谢。

traceroute需要访问原始套接字,因此,您需要以root用户身份启动python,因为原始套接字受到Linux的限制


启动shell时键入
sudo python
,或者键入
sudo scapy
(使scapy预先配置shell),或者如果它是一个程序文件,则键入
sudo python yourprogram.py

谢谢。在看到你的答案之前我自己想出来的。。。但是你的答案是正确的。