При использовании raw sockets
для отправки TCP
данных разрешается оставлять source ip address
нулем, чтобы ядро вставляло правильное значение. Это полезно, особенно когда используется несколько интерфейсов (с разными IP
адресами).
Теперь моя проблема: чтобы вычислить контрольную сумму TCP
, мне нужно знать, каким будет исходный IP-адрес в конце. Это кажется мне невозможным?
Можно ли как-то определить источник IP
моих исходящих пакетов?
(Альтернативой было бы специально привязать мой необработанный сокет к адресу, но я бы не хотел этого делать).
/edit: Использование Linux
UDP socket
довольно хитрый, я, вероятно, попробую этот, так как он, похоже, предлагает решение проблемы. - Но на самом деле я надеялся на более приятный вариант ;) 30.06.2011