我试图在python2.6中实现UDP traceroute解决方案,但是我不明白为什么我需要root权限来执行与操作系统附带的traceroute实用程序相同的ish操作。在
这段代码将在其中运行的环境无疑将具有root权限,那么我是否更有可能放弃python实现,编写一些东西来解析UDP模式下OS traceroute的输出?或者,打开一个配置为self.rx = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
的套接字时,是否缺少一些东西。似乎没有root权限,socket.SOCK_RAW
是不可访问的,这实际上阻止了我使用python实现它所需的数据。在
我得出的结论是,我只能使用}有效地允许该部分代码以根身份运行,从而克服根需求。由于没有根权限我无法建立这些权限,我不得不依赖于
subprocess
解析traceroute
的输出。traceroute
可以通过对部分代码使用{traceroute
的存在,因为这是两种情况中更可能出现的情况。在相关问题 更多 >
编程相关推荐