Я пытаюсь отправить / recv raw Ethernet под Ubuntu.
У меня нет проблем с запуском кода в C через терминал.
Однако, когда я попытался преобразовать код в C ++, используя
В среде IDE NetBeans 6.9 не удается открыть необработанный сокет.
призвание:
socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL))) == -1)
всегда возвращайте -1. ошибка: «операция не разрешена»
Тебе всегда нужно корень разрешения на отправку / получение чего-либо через сырые розетки.
Вот как настроить NetBeans для запуска вашего приложения от имени пользователя root:
Right click on project -> Properties -> Run
Run Command
в sudo "${OUTPUT_PATH}"
(по умолчанию "${OUTPUT_PATH}"
)Других решений пока нет …