V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fhxd
V2EX  ›  Windows

请问 windows 下有好用的 ip 转向/重定向工具吗?或者怎样实现?

  •  
  •   fhxd · 2022-03-10 10:06:18 +08:00 · 2811 次点击
    这是一个创建于 991 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需求:在浏览器里输入 45.45.xxx.xxx:90 ,实际上访问 112.112.xxx.xxx:90 ;输入 45.45.xxx.xxx:88 ,实际上访问 112.112.xxx.xxx:88 ;以此类推,端口也要对应。

    我没有系统地学过计算机相关的知识,表述可能不太清楚、用词不太合适。我也尝试自己搜索了相关问题,但没有找到好用的方法。我在写这个主题时想到:是否要把接收到的 112.112.xxx.xxx 的信息的 ip 也改了才能实现?

    已经尝试过的方法:
    1.改 hosts 文件。
    2.netsh interface portproxy 。创建虚拟网卡并把地址改为 45.45.xxx.xxx ,然后 netsh interface portproxy 。
    3.proxifier 。
    4.3proxy 。我在搜索时看到类似的问题是用 3proxy 解决的,但是我尝试写了 3proxy 配置并没有生效。我也搜索了 3proxy 的相关教程,但是那些都写得很基础,不能解决我这个问题;我也尝试看了 3proxy 的官方文档,但是我英语不是很好,用了自动翻译,写出来的配置也没有生效。如果这个工具确实可以,请问配置具体要怎么写呢?
    5.搜索的时候找到一些很老的、用易语言写的工具,可能是太老了,要么报错要么不生效。
    以上方法均不生效,不过不排除我操作错误造成方法不生效。

    如果没有这样的工具,请问用什么原理能或者怎么能实现呢?如果不是很复杂的话我可以尝试自己写一个。
    第 1 条附言  ·  2022-03-10 10:45:58 +08:00
    不好意思,我没有说清楚。不能借助服务器、路由器或其它硬件、机器,只在一台机器上用软件实现。

    不只是对浏览器生效,所有软件只要和 45.45.xxx.xxx 的通信都被换到 112.112.xxx.xxx 上。
    第 2 条附言  ·  2022-03-10 13:39:30 +08:00
    非常感谢大家的耐心回复,重新用尝试过的第二种方法 netsh interface portproxy + 虚拟网卡的方法解决了这个问题。之前可能是测试用的 win7 虚拟机出了问题或者我操作有问题。

    起因是我用的某个软件要用虚拟机搭服务器,并且软件里写死了内网 ip 地址。我不想在我的电脑上一直运行一个虚拟机,我有一台闲置的云服务器,摸索着把用到的数据库、web 之类的服务挪到了上面。但是我的计算机知识很浅薄,改不好客户端,就想到了对 ip 拦截转发。
    并且我想总结一个简单通用的方法解决以后可能遇到的类似问题,所以没有直接提出这个问题,而是问了个更通用的问题。

    要解决我最初的问题可能有很多更简单的方法,但是我想尝试我想到的这个方法到底能不能走通。这可能很蠢,但我就想试试。
    CallMeReznov
        1
    CallMeReznov  
       2022-03-10 10:13:16 +08:00
    nginx
    ziseyinzi
        2
    ziseyinzi  
       2022-03-10 10:52:49 +08:00   ❤️ 1
    感觉是一个 x-y 问题,先说清楚你为什么要这么做,又为什么不能用其它硬件
    ndd200
        3
    ndd200  
       2022-03-10 10:54:34 +08:00   ❤️ 1
    首先,我也很菜。

    我能想到的方案:
    1.在路由器上做 net 转发是最容易实现的。你想让哪个客户端转,都可以自由控制。
    2.如果改不了主路由,可以虚拟机在本地装个旁路由,然后要重定向的机器网关设成旁路由的。
    Routeros
        4
    Routeros  
       2022-03-10 10:55:53 +08:00   ❤️ 1
    Fiddler AutoResponder ?
    qrobot
        5
    qrobot  
       2022-03-10 10:59:15 +08:00
    如果协议不变,只是转发 IP 和端口。 那么我可以帮你写个软件,要不留下 base64 我联系你?
    3dwelcome
        6
    3dwelcome  
       2022-03-10 11:10:00 +08:00   ❤️ 1
    挺简单的事情,写个 IP 包过滤器就可以了。

    修改一下每一个 TCP/IP 包里的 IP 地址。

    实现这个功能,需要装驱动,有内核钩子。但是实际的过滤 IP 包代码,就是普通的 exe 。
    0o0O0o0O0o
        7
    0o0O0o0O0o  
       2022-03-10 11:10:03 +08:00 via iPhone
    > 不只是对浏览器生效,所有软件只要和 45.45.xxx.xxx 的通信都被换到 112.112.xxx.xxx 上。

    只是 tcp 还是 tcp udp icmp 都需要,前者 netsh 就可以实现吧,后者麻烦不少
    Davic1
        8
    Davic1  
       2022-03-10 11:12:59 +08:00
    管理员打开 cmd 进行端口转发:
    netsh interface portproxy add v4tov4 listenport=1234 listenaddress=127.0.0.100 connectport=4321 connectaddress=100.1.3.4

    所有访问 127.0.0.1:1234 的流量都会被转发到 100.1.3.4:4321
    openkava
        9
    openkava  
       2022-03-10 11:18:31 +08:00   ❤️ 1
    用 socat . nc 之类的工具
    fuis
        10
    fuis  
       2022-03-10 11:19:58 +08:00
    。。这不是随便写一个油猴脚本判断下 window.location 然后设置下就行了?

    if (window.location.href.indexOf("//45.45.xxx.xxx:90") != -1) {
    window.location = "//112.112.xxx.xxx:90 "
    }
    vopsoft
        11
    vopsoft  
       2022-03-10 11:23:00 +08:00
    netsh interface portproxy add v4tov4 listenaddress=192.168.1.31 listenport=22 connectaddress=192.168.18.133 connectport=22
    3dwelcome
        12
    3dwelcome  
       2022-03-10 11:23:49 +08:00   ❤️ 1
    “创建虚拟网卡并把地址改为 45.45.xxx.xxx

    如果不想写代码,那么虚拟网卡这样设置过后,45.45.xxx.xxx 的数据,都是会发到 localhost 上的,你再用本地代理监听 localhost ,把数据转发到 112.112.xxx.xxx 上对应的端口,就可以了。
    fuis
        13
    fuis  
       2022-03-10 11:25:39 +08:00
    if (window.location.href.indexOf('45.45.xxx.xxx') != -1) {
    let port = window.location.port;
    let protocol = window.location.protocol;
    window.location = protocol + "//112.112.xxx.xxx:" + port;
    }
    fuis
        14
    fuis  
       2022-03-10 11:28:02 +08:00   ❤️ 1
    不好意思,没看到补充的 “不只是对浏览器生效”,忽略我吧
    AreYou0k
        16
    AreYou0k  
       2022-03-10 11:38:48 +08:00   ❤️ 1
    推荐一下我在用的这个, whistle, node 安装就行.
    RedBeanIce
        17
    RedBeanIce  
       2022-03-10 13:00:50 +08:00 via iPhone
    黑产?
    RedBeanIce
        18
    RedBeanIce  
       2022-03-10 13:02:04 +08:00 via iPhone
    url 不变,但是请求的 ip 变了
    Cloutain
        19
    Cloutain  
       2022-03-10 14:48:43 +08:00
    用网络过滤驱动 WFP 就能实现。 需求还是很简单的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1099 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:04 · PVG 03:04 · LAX 11:04 · JFK 14:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.