Отправка данных на сокет AF_PACKET - PullRequest
0 голосов
/ 23 августа 2009

Как отправить данные в сокет SOCK_PACKET, не указав, для какого хоста он предназначен? Я создал заголовок IP, чтобы показать, куда он должен идти, но write () не будет работать.

1 Ответ

2 голосов
/ 24 августа 2009

Не. используйте write (), используйте sendto ().

Если вы используете PF_PACKET, SOCK_DGRAM, то он создает заголовки канального уровня для вас, что, как правило, то, что вы хотите. Тем не менее, вам все равно нужно создать более высокий протокол, который вы используете поверх.

Вы указываете sockaddr_ll в параметре адресата. Вы можете указать одноадресный адрес канального уровня, многоадресный адрес или широковещательный адрес.

...