Подмена ip адреса в udp пакете
Через сырые сокеты я создал udp пакет с измененным айпи адресом отправителя. Но при попытке отправить его на другой сервер приходит пакет с настоящим айпи адресом. Я пробовал отправить пакет на локалку и приходит пакет с измененным айпи адресом. Также с hping3. В чем может быть проблема? Связано ли это с тем, что устройство с которого отправлен пакет подключено не на прямую к интернету, а через роутер? Спрашивал у провайдера, сказали не блокируют такое. ОС Linux
Ответы (1 шт):
Когда собираешь IP пакет и указываешь в свойстве отправитля поддельный IP адрес то пакет отправляется с прописанным поддельным адресом, но если адрес получателя за локальной сетью, то этот пакет проходит через роуетр и роуетер меняет ип отправителя на свой внешний публичный ип, это необходимо для того что бы сервер который получит такой пакет знал кода отправлять ответ, поэтому твой пакет доходит до сервера с твоим IP адресом но ответ от сервера обратно до твоего устройства не дойдёт, ответ от сервера отправится, дойдёт до твоего роутера, роутер посотрит в арп таблице на какой ип и порт переадресовать этот пакет и отправит на поддельный ип адрес во внутренний сети. Есть ещё 2 вариант когда твой роутер увидит что нет подключённых устройст с ип адресом который подделал и просто выкинет этот пакет.
Если указать в свойсве получателя ип адрес устройства внутри сети то роуетр не меняет ип адрес получателя на свой внешний публичный адрес, поэтому устройства внутри сети видят потдельный ип