Я получил приложение (без исходного кода), вызывающее сервер (с жестким кодом IP) и ожидающее ответа перед запуском (своего рода логин).
Поскольку сервер не работает половину времени, я хочу создать фиктивный сервер, который будет эмулировать поведение официального сервера.
Моя проблема:
Как я могу перенаправить трафик на мой локальный компьютер?
Я хочу, чтобы все запросы, отправленные на IP wxyz, были перенаправлены на localhost (где работает мой фиктивный сервер)
Больше информации:
- мой фиктивный сервер - решение apache / php.
- Я попытался отредактировать жестко запрограммированный IP-адрес в приложении с помощью шестнадцатеричного редактора, но при запуске приложения некоторые контрольные суммы не выполняются.
- поскольку IP-адрес жестко задан в приложении, я не могу использовать файл hosts.
- Я бегу Win XP.
related: Как перенаправить трафик с одного IP на другой IP в Windows Server 2008
Ну, вы можете попробовать следующее:
Установите конкретный маршрут для этого IP-адреса, который будет использовать фиктивный сервер в качестве шлюза, например:
Для этого вам потребуется либо доступ к основному маршрутизатору вашей сети, либо вы должны сделать это на машине, которая отправляет запросы. Это эффективно отправляет пакеты TCP с IP-адресом wxyz на MAC-адрес фиктивного сервера. Теперь вам нужно убедиться, что фиктивный сервер знает, что с ними делать.
Затем добавьте IP-адрес wxyz в качестве дополнительного адреса на фиктивный сервер.
Наконец, обновите конфигурацию apache на фиктивном сервере, чтобы убедиться, что он также прослушивает адрес wxyz, и убедитесь, что виртуальный хост на фиктивном сервере принимает входящие запросы как для IP-адреса, так и для имени домена.
Обратите внимание, что это будет работать только в том случае, если между запрашивающей машиной и фиктивным сервером нет других маршрутизаторов. И если есть какие-либо брандмауэры, они также нуждаются в обновлении.
источник
Возможно, вы могли бы что-то грохнуть вместе с iptables. Вот то, что я когда-то использовал, но больше не делаю, чтобы дать вам опору:
NB: я сделал это давным-давно, там могут быть ошибки
Единственное, что я вижу, это может быть проблемой, это то, что это специфично для интерфейса. Я думаю, что eth0 только для входящей части, поэтому использование ip на интерфейсе lo (127.0.0.1) в качестве цели все еще может работать ...
источник