我有一个脚本(红宝石):
require 'ffi/pcap'
pcap = FFI::PCap::Live.new(:dev => "wlan0", :timeout => 1)
pcap.loop() do |this,pkt|
puts pkt.body
end
Run Code Online (Sandbox Code Playgroud)
当我尝试运行脚本时,出现以下错误:
pcap_open_live(): wlan0: 您无权在该设备上捕获(套接字:不允许操作) (FFI::PCap::LibError)
当我在 Mac 操作系统上运行此代码时,一切正常。
我试过:
sudo setcap cap_net_raw,cap_net_admin=eip ~/.rbenv/shims/ruby
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
但我仍然有这个问题。
可以在没有 root 的情况下运行此代码吗?授予用户能够通过脚本使用网络设备的权限?