C - Контрольная сумма TCP (с использованием сырых сокетов) - как получить IP-адрес

При использовании сырых сокетов для отправки данных TCP , разрешено оставить исходный IP-адрес ноль, так что ядро ​​устанавливает правильное значение. Это полезно, особенно когда используются несколько интерфейсов (с разными IP-адресами ).

Моя проблема сейчас: вычислить до Контрольная сумма TCP , мне нужно знать, каким будет исходный IP-адрес в конце. Мне это кажется невозможным?

Есть ли способ определить исходный IP моих исходящих пакетов?

(Альтернативой может быть привязка моего сырого сокета к адресу, но я бы предпочел не делать этого).

/ edit: Использование Linux

6
задан david 30 June 2011 в 12:13
поделиться