运行 没有 sudo/root 的 libpcap

Run libpcap without sudo/root

我正在使用 libpcap 嗅探数据包,并在 Ubuntu 18.04 中使用 C++ 创建原始数据包。这些功能需要管理员(sudo)权限。我正在寻找一种方法来删除依赖项。

当我 运行 我的代码没有 sudo 时,我得到以下错误: pcap_open_live(): You don't have permission to capture on that device (socket: Operation not permitted)

我使用 cmake 和 make 构建我的应用程序,我有可执行文件 test,我 运行 作为 ./test

我已经尝试了setcap cap_net_raw,cap_net_admin=eip ./test,但是没有sudo,我无法抓包,和上面一样的权限错误。

请帮忙解决这个问题。

我找到了答案here

问题原来是我的硬盘没有用 sudo 挂载。我在主文件夹和 setcap 中构建了我的工具,我现在可以在没有 sudo 的情况下嗅探数据包。