问题描述
我正在开发一个 Python 项目,该项目应该使用 rospy python 模块捕获原始 UDP 包、解码它们并将解码后的数据发布到 ROS 主题中。为了捕获网络包,我使用了 Scapy。
问题是,
为了使用 Scapy 创建原始套接字,我必须使用 sudo 运行我的 py 文件;然而, 为了导入 rospy,我不得用 sudo 运行我的 py 文件。因此,我无法在单个 Python 脚本中导入和使用这两个模块。
出于性能方面的考虑,我不想将这两个脚本分成两个不同的 Python 脚本并使用文件或数据库在彼此之间传递数据。
到目前为止,我已经尝试过这个,来自 link :
setcap cap_net_raw=eip /usr/bin/python3.5
setcap cap_net_raw=eip /usr/bin/tcpdump
此后,我可以在没有root权限的情况下使用Scapy,但由于某些原因,ROS安装已损坏,因此这也不是解决方案。
我该如何解决这个问题?有什么建议吗?
我在 Ubuntu 16.04 上使用 Python 3.5
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)