Windows 原生方案(虚拟网卡 + netsh 端口转发)
如果你希望在系统底层解决,不依赖抓包软件,并且想让它像 hosts 一样在后台默默生效。你需要利用 Windows 的虚拟网卡配合 netsh 命令。
原理解释: 因为 30.30.2.0 不是你本机的 IP,Windows 默认会把流量发到网关去。我们需要先让系统认为 30.30.2.0 是“本机”,然后再把访问本机的流量转发出去。
操作步骤:
1、添加环回网卡(Loopback Adapter):
按 Win + R 输入 hdwwiz 打开硬件添加向导。
选择“安装我手动从列表选择的硬件” -> “网络适配器” -> 厂商选“Microsoft”,型号选“Microsoft KM-TEST Loopback Adapter”。
2、配置假 IP:
去 Windows 的“网络连接”设置里,找到刚刚新建的那个“以太网”连接(环回网卡)。
右键“属性” -> IPv4 设置,把它的 IP 地址手动设置为 30.30.2.0,子网掩码 255.255.255.0(网关留空)。
此时,系统会把发往 30.30.2.0 的流量全部截留在本机。
3、设置 netsh 端口转发:
以管理员身份运行 CMD 或 PowerShell。
添加转发规则(因为是 HTTP,默认端口是 80):
netsh interface portproxy add v4tov4 listenaddress=30.30.2.0 listenport=80 connectaddress=21.21.3.0 connectport=80
(如果后续想删除这条规则,用:netsh interface portproxy delete v4tov4 listenaddress=30.30.2.0 listenport=80)
这个方案非常极客且原生,配置好后不用开任何软件,系统自动完成路由和转发。