2016-12-04 4 views
0

Я хотел бы перенаправить определенный исходящий TCP-трафик на другой адрес.Как перенаправить исходящий трафик на другой адрес?

Скажите, что у меня есть приложение, которое пытается установить подключение к серверу. aaa.bbb.ccc.ddd: 99999.

То, что я пытаюсь сделать, это перенаправить исходящий трафик приложения на другой адрес (например, ddd.eee.fff.ggg: 88888), не касаясь приложения. Возможно ли это в Windows или Mac OS X?

Благодаря

+0

Что вы спрашиваете, называется NAT (Трансляция сетевых адресов). –

ответ

0

Там два случая здесь:

Первые если у вас есть FQDN, легко вы просто должны решить ее на другой IP через локальную hosts файл.

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

Внутри системы вы должны изменить локальный брандмауэр. Я напишу вам примерную команду из iptables, которая работает на Linux-системах, но эквивалент, который вы можете применить с программным обеспечением MacOS (pf см. В конце редактирования) и Windows. Что я делаю ниже, это NAT IP-адрес, который я хочу изменить, на новый IP-адрес.

iptables -t nat -A OUTPUT -p tcp -d IP_YOU_WANT_REWRITE --dport PORT -j DNAT --to-destination NEW_IP:NEW_PORT

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

Редактировать: Насколько я могу видеть эквивалент osx для iptables, это pf, поэтому вам нужно написать аналогичное правило, используя команду nat.

+0

Спасибо за ответ. Я попытался найти некоторые соответствующие сообщения и нашел это http://apple.stackexchange.com/questions/223944/pf-port-forwarding-on-os-x-yosemite-to-avoid-block, но там нет четкого ответа. :( –

+0

К сожалению, у меня нет mac для тестирования решения, но вот [manual] (http://murusfirewall.com/Documentation/OS%20X%20PF%20Manual.pdf), где вы можете найти 'nat '. Вы также можете проверить [this] (http://serverfault.com/questions/662366/forwarding-ip-address-using-pf). – zochamx