我想知道是否有可能在没有 root 权限的情况下运行 Scapy 的 'sniff(...)'。
它用于捕获某些包的应用程序中。但我不想以 root 权限运行整个应用程序或更改 scapy 本身的任何内容。
提前致谢!
编辑:
对于测试,我使用以下代码:
from scapy.all import *
def arp_monitor_callback(pkt):
if ARP in pkt and pkt[ARP].op in (1,2): #who-has or is-at
return pkt.sprintf("%ARP.hwsrc% %ARP.psrc%")
sniff(prn=arp_monitor_callback, filter="arp", store=0)
我只能使用 sudo 运行它。
我试图用sudo setcap 'cap_net_admin=+eip' test.py
. 但它没有显示任何效果。即使是all
能力也无济于事。