У меня есть локальное приложение, код которого мне не принадлежит, и я пытаюсь напрямую подключиться к какому-либо IP, скажем, 123.45.67.890
. В целях тестирования я хотел бы перенаправить это соединение куда-то еще, на другой совершенно другой IP-адрес, и шестнадцатеричное редактирование IP-адреса в файле невозможно. Как бы я пошел по этому поводу? Я не могу отредактировать файл hosts и получить эффект, потому что DNS-запрос не выполняется. Решения желательно на Windows, но я также могу сделать это под Linux.
2 ответа
Я не знаю, как (если) вы можете сделать это под Windows, но вы можете использовать IPTables на Linux, чтобы переписать пакет с использованием DNAT
Вы можете попробовать что-то вроде
/sbin/iptables -I PREROUTING -d 123.45.67.89 -j DNAT --to-destination 98.76.54.32
Смотрите перенаправление IP на локальный хост.
Этот метод использует функцию netsh MS-Dos. В частности, вы можете добавить несколько IP-адресов в ваш адаптер обратной связи. После добавления Microsoft обрабатывает вызовы на любые адреса в адаптере обратной связи, в результате чего они остаются (т.е. возвращаются назад) в пределах окон, а не направляются к фактическому IP-расположению (будь то в локальной сети или даже в глобальной сети).