Как изменить параметры заголовка IP для пакетов SYN / ACK? - PullRequest
0 голосов
/ 17 сентября 2018

Для создания пакетов с расширенным IP-заголовком операция setockopt может быть выполнена с уровнем SOL_IP и параметром IP_OPTIONS:

int ipoption=0xbaadf00d;
int sockfd=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
setsockopt(sockfd, SOL_IP, IP_OPTIONS, &ipoption, sizeof ipoption);

После этого при попытке подключения стека TCP создаются пакеты с правильным расширенным заголовком.Проблема состоит в том, как сделать то же самое для сокета сервера: я ожидаю, что сокет сервера TCP, который отвечает с пакетом SYN / ACK с определенным расширением заголовка IP в ответ на соединение.Но создание такого же setsockopt для сокета не дает никакого эффекта.Неважно, когда я вызываю setsockopt - перед прослушиванием, перед принятием и т. Д. Можно ли каким-либо образом применить параметр IP к сокету сервера без переключения на сокеты RAW?

...