linux打开cap文件,在没有setcap cap峈net的Linux下打开原始套接字_

我也一直在挣扎。似乎没有什么好的解决办法,至少对于像python这样的解释性语言来说。要么在根目录下运行,要么不捕获原始数据包:)。我唯一能想到的就是将脚本作为守护进程执行。在

sudo服务启动嗅探器

snifferd的意思是:PATH=/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/home//projects/sniffer.py

DAEMON_NAME=snifferd

case "$1" in

start)

log_daemon_msg "Starting $DAEMON_NAME"

setcap cap_net_raw=+ep /usr/bin/python2.7

start-stop-daemon start background pidfile $PIDFILE make-pid user $DAEMON_USER chuid $DAEMON_USER startas $DAEMON

setcap cap_net_raw=-ep /usr/bin/python2.7

log_end_msg $?

;;

...

我尝试过在初始化套接字之前在代码中执行setcap,并在初始化后立即删除cap,但python似乎需要在实例启动之前获得权限。在

编辑1

试过了。它是有效的,但是如果在程序需要它之前,院长删除了这个功能,它将失败。你猜,这需要一些停顿等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值