Sudo scapy 不适用于 virtualenv

use*_*317 0 python ubuntu sudo scapy

刚开始在我的 virutalenv 中使用 scapy,但我无法在其中运行 'sudo scapy'。我正进入(状态:

sudo: scapy: command not found
Run Code Online (Sandbox Code Playgroud)

如果我只是运行 scapy,当我尝试发送一个简单的数据包时

send(IP(dst="www.google.com"/ICMP())
Run Code Online (Sandbox Code Playgroud)

我得到了permissionError 操作的许可。我如何让它工作?

小智 7

如此答案/sf/answers/3102046601/ 所示,您需要使用sudo权限运行scapy才能使用某些功能。在这种情况下,发送数据包。

鉴于您想在虚拟环境中使用scapy版本,您需要提供虚拟环境中scapy二进制文件的完整路径才能使其工作。您可以通过执行以下命令在虚拟环境处于活动状态时获取此路径:

$ which scapy
/home/someuser/.pythonenvs/test_scapy/bin/scapy
Run Code Online (Sandbox Code Playgroud)

然后使用完整路径再次运行 scapy:

$ sudo /home/someuser/.pythonenvs/test_scapy/bin/scapy
Run Code Online (Sandbox Code Playgroud)