Спуфинг IP-адреса происхождения Запроса HTTP

Также, если вы используете сторонние библиотеки, убедитесь, что у вас есть правильные 32/64-битные двоичные файлы

22
задан Corey Goldberg 25 July 2009 в 01:11
поделиться

5 ответов

Это неправильное понимание HTTP. Протокол HTTP основан на TCP . Протокол TCP использует трехстороннее рукопожатие для инициализации запросов.

альтернативный текст http://upload.wikimedia.org/wikipedia/commons/archive/c/c7/20051221162333!300px-Tcp-handshake.png

Излишне говорить, что если вы подмените исходный IP-адрес, вы никогда не пройдете этап синхронизации, и никакая информация HTTP не будет отправлена ​​(сервер не может отправить ее на законный хост).

Если вам нужно протестировать Балансировщик нагрузки IP, это не способ сделать это.

46
ответ дан 29 November 2019 в 03:55
поделиться

Вы хотите установить исходный адрес, используемый для соединения. Поиск в Google "адрес источника urllib2" дает http://bugs.python.org/file9988/urllib2_util.py . Я не пробовал.

Система, в которой вы работаете, должна быть настроена с IP-адресами, с которых вы тестируете.

5
ответ дан 29 November 2019 в 03:55
поделиться

Краткое примечание, поскольку я только что узнал об этом вчера:

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

5
ответ дан 29 November 2019 в 03:55
поделиться

Я предлагаю посмотреть, сможете ли вы настроить балансировщик нагрузки, чтобы он s Решение основано на заголовке X-Forwarded-For, а не на IP-адресе источника пакета, содержащего HTTP-запрос. Я знаю, что большинство значительных коммерческих балансировщиков нагрузки имеют эту возможность.

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

1
ответ дан 29 November 2019 в 03:55
поделиться

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

current client address on eth0 = 192.168.1.10/24

server-side:
ifconfig eth0:1 172.16.1.1 netmask 255.255.255.0

client-side:
ifconfig eth0:1 172.16.1.2 netmask 255.255.255.0 
route add -net 172.16.1.0/24 gw 172.16.1.1 metric 0

Повторите для любого количества подсетей. Перезапустите apache, чтобы установить слушателей на все новые интерфейсы псевдонимов, и все готово.

1
ответ дан 29 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: