socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
страничное руководство линуксового говорит об этом коде.
В опции сокета, если установлен IP_HDRINCL, я могу сделать IP-заголовок. Я прав? Если это правильно, выше сокета также разрешить мне заголовок TCP тоже?
Затем, если IP_HDRINCL не установлен, что означает над сокетом?
2.
socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
socket(AF_INET, SOCK_RAW, IPPROTO_UDP);
, что означает, что выше кода по сравнению с кодом номер 1 Вопрос в?
Я знаю, что IPPROTO_RAW не может получать IP-пакеты. И здесь эти сокеты могут принимать только TCP-пакеты, а UDP pakcets - каждый. (Могу ли я видеть заголовок IP, заголовок Ethernet тоже?) Но как насчет отправки? Я не знаю точно об этом.
Могу ли я видеть Ethernet-соединения, IP, tcp/udp заголовки из сокета вопроса номер 2, когда я получаю пакет от этих socekts? И о посылке сокета вопроса номер 2, если я использую IPPROTO_TCP, тогда я могу только сделать заголовок IP и заголовок TCP? и если я использую IPPROTO_UDP, тогда я могу сделать только заголовок IP и заголовок UDP? Итак, если я использую IPROTO_RAW, то могу сделать любой заголовок слоев TP? –
Да, вы видите эти заголовки – mikedu95
И да, все эти утверждения являются правами. – mikedu95