Я пытаюсь понять, как обрабатывать необработанные UDP-пакеты в C.
Я нашел пример кода , который я пытался заставить работать на моем компьютере.Все, что он делает, это создает заголовки IP и UDP с нуля, прикрепляет данные, создает необработанный сокет, а затем отправляет данные с подключенными заголовками IP и UDP.
Все это компилируется и запускается без ошибок / предупреждений.Однако, когда я пытаюсь прослушивать порт с помощью netcat, я не получаю никаких пакетов.Однако, когда я изменяю сокет отправки с SOCK_RAW
на SOCK_DGRAM
, пакет отправляется через.
Может кто-нибудь сказать мне, почему это так?