C++无法使用Ubuntu和Netbeans 6.9打开原始套接字6.9
问题描述:
我想在Ubuntu下发送/ recv原始以太网。C++无法使用Ubuntu和Netbeans 6.9打开原始套接字6.9
我没有问题通过终端在c中运行代码。
但是,当我试图使用 Netbeans IDE 6.9将代码转换为C++时,它无法打开原始套接字。 电话:
socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL))) == -1)
总是返回-1。错误:“操作不允许”
答
你总是需要根权限发送/通过原始套接字收到东西。
下面介绍如何使用NetBeans配置来运行你的应用程序根目录:
Right click on project -> Properties -> Run
- 设置
Run Command
到sudo "${OUTPUT_PATH}"
(默认为"${OUTPUT_PATH}"
)
请问,如果工作你以root身份通过终端运行你的应用程序? – ollo
我想通过使用“sudo” 通过终端运行代码解决了这个问题。 谷歌搜索我明白,有可能配置Netbeans做同样的事情。我仍然无法做到这一点.. –