运行 没有 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 的情况下嗅探数据包。
我正在使用 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 的情况下嗅探数据包。