2016-12-04 87 views
0

我想重定向特定的傳出TCP流量到另一個地址。如何將傳出流量重定向到另一個地址?

假設我有一個應用程序試圖建立到服務器的連接aaa.bbb.ccc.ddd:99999

我所試圖做的是應用程序的輸出流量重定向到另一個地址(例如,ddd.eee.fff.ggg:88888)無需觸摸應用。這在Windows或Mac OS X中可能嗎?

感謝

+0

你在問什麼叫做NAT(網絡地址轉換)。 –

回答

0

這裏有兩種情況:

首先,如果你有FQDN,這很容易,你只需要通過本地hosts文件,它解析爲一個不同的IP。

其次,如果應用程序試圖達到特定的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來測試一個解決方案,但這裏是[手冊](http://murusfirewall.com/Documentation/OS%20X%20PF%20Manual.pdf),你可以找到'nat '命令,你也可以檢查[this](http://serverfault.com/questions/662366/forwarding-ip-address-using-pf)答案。 – zochamx

相關問題