Почему невозможно подделать IP-адрес? - PullRequest
40 голосов
/ 03 марта 2011

Я знаю, что можно изменить IP-адрес с помощью прокси-сервера, но меня интересует, почему невозможно изменить его, отправляя измененные данные с одного компьютера?

Обновление:

Спасибо за быстрые ответы, но не ясно, что произойдет, если будет использоваться протокол без сохранения состояния, такой как HTTP. Я не знаком с сетевым взаимодействием более низкого уровня, но, похоже, теоретически должно быть возможно подделать IP-адрес, если ПК подключится к серверу и сразу же получит ответ.

Ответы [ 4 ]

58 голосов
/ 03 марта 2011

Полностью можно отправлять данные с поддельного IP-адреса отправителя.Тем не менее, вам будет сложно получать ответы, поскольку ответы будут отправляться на фальшивый IP-адрес и никогда не дойдут до вас.Кроме того, если вы отправляете данные с IP-адресом «от», который маршрутизатор от вас не ожидает, маршрутизатор часто просто отбрасывает их, а иногда сообщает провайдеру, что вы что-то нарушаете.1001 *

РЕДАКТИРОВАТЬ: В ответ на отредактированное сообщение.

Любой протокол (например, HTTP), который построен поверх протокола, ориентированного на соединение (TCP), потребует действительный IP-адрес.Случаи, когда поддельные IP-адреса были распространены, в основном включают атаки типа «отказ в обслуживании» с использованием UDP, ICMP или исходного пакета SYN при квитировании TCP.

13 голосов
/ 03 марта 2011

Вы можете использовать любой IP-адрес, который вы хотите отправить, но ответы будут идти на IP-адрес, который вы использовали, поэтому вы не можете установить двустороннюю связь таким образом.

4 голосов
/ 15 декабря 2014

(* Это старый вопрос и ответы в порядке, только одно дополнение)
это называется IP-спуфингом, брандмауэры прилагают все усилия, чтобы обнаружить и заблокировать его, и сетевые мосты могут запутаться (на некоторое время)
http://en.wikipedia.org/wiki/IP_address_spoofing

3 голосов
/ 03 марта 2011

Если вы попытаетесь отправить пакет, изменив исходный IP-адрес, вы можете отправить его кому-то еще, но если вы хотите, чтобы пакет вернулся на ваш компьютер, вы должны использовать что-то вроде NAT

Если вы находитесь за маршрутизатором в своей сети, вы, по сути, меняете свою личность

Пример: Вы: 192.168.1.4 Insiderouter: 192.168.1.1 external-ip: 8.8.8.8 IP-адрес назначения: 8.8.4.4

Отправка пакета: от: 192.168.1.4 (вы) до 8.8.4.4 (судьба) маршрутизатор транслирует в: от: 8.8.8.8 (external-ip) до 8.8.4.4 (dest) и хранит твой ip в своей памяти

, чем пакет приходит в пункт назначения.

Теперь адресат отправляет пакет обратно от: 8.8.4.4 (dest) до 8.8.8.8 (external-ip) маршрутизатор транслирует в (используя свою память) с: 8.8.4.4 (dest) до 192.168.1.4 (you)

и теперь пакет возвращается на ваш компьютер

как вы можете видеть, пункт назначения не знает ваш ip, а знает только ip маршрутизатора

это способ, которым вы можете найти способ скрыть свой ip

...