如何将传出流量重定向到另一个地址?

问题描述 投票:0回答:2

我想将特定的传出 TCP 流量重定向到另一个地址。

假设我有一个应用程序尝试建立与服务器的连接aaa.bbb.ccc.ddd:99999

我想做的是将应用程序的传出流量重定向到另一个地址(例如,ddd.eee.fff.ggg:88888)而不接触应用程序。这在 Windows 或 Mac OS X 中可能吗?

谢谢

macos http-redirect network-programming tcp proxy
2个回答
0
投票

这里有两种情况:

首先,如果您有 fqdn,那么您只需通过本地

hosts
文件将其解析为不同的 ip 即可。

其次,如果应用程序试图到达特定的IP地址,那就没那么简单了,我将提到一种在系统上执行此操作的方法,并且无需更改系统上的任何内容。

在系统内您必须修改本地防火墙。我将为您写一个来自

iptables
的示例命令,它适用于 Linux 系统,但您可以使用 MacOS 软件(
pf
请参阅最后的编辑)
和 Windows 来应用等效命令。 下面我要做的就是将我想要更改的 IP NAT 更改为新的 IP。

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

如果现在您根本不想打扰主机,您可以在网关/路由器上应用类似的 NAT 规则,只需将要更改的 IP NAT 到路由器配置和主机上的新 IP透明地到达新的。

编辑:据我所知,osx 相当于 iptables 是

pf
,所以你需要使用
nat
命令编写类似的规则。


0
投票

你发布的答案是linux iptables,而不是macos或windows。

© www.soinside.com 2019 - 2024. All rights reserved.