如何解决在没有sudo / root的情况下运行libpcap
我正在使用libpcap嗅探数据包,并在Ubuntu 18.04中使用C ++创建原始数据包。这些功能需要admin(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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。