小编mga*_*ski的帖子

如何在没有 root 的情况下运行脚本来嗅探网络(libpcap)?

我有一个脚本(红宝石):

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 的情况下运行此代码吗?授予用户能够通过脚本使用网络设备的权限?

linux libraries ruby network-interface

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

libraries ×1

linux ×1

network-interface ×1

ruby ×1