• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kinboy
V2EX  ›  程序员

Powershell windows 端口转发

  •  1
     
  •   kinboy · Jul 23, 2024 · 4212 views
    This topic created in 834 days ago, the information mentioned may be changed or developed.

    Winsows + WSL2 的环境经常有端口转发的需求,Windows 上没有找到很好用的端口转发工具,就用 Powershell 写了一个脚本,代码很简单,还挺好用,配上了通知,目前只支持 IPv4 Tcp 端口转发

    Project: https://github.com/kinboyw/windows-port-forwarder

    launch

    notification

    21 replies  •  2024-07-24 12:38:54 +08:00
    rayae
    rayae
    Jul 23, 2024
    1
    wsl2 自带的`localhostForwarding`和`networkingMode=mirrored`不香吗
    idealhs
    idealhs
    Jul 23, 2024
    3
    加油,再写个反向代理👍
    kinboy
    kinboy
    OP
    Jul 23, 2024
    4
    @rayae #1 我去看看,不过这个脚本可以转发到任意地址,只是最开始是方便转发到 WSL ,所以 target IP 默认设置了 WSL 的 IP
    wulays
    wulays
    Jul 23, 2024❤️1
    5
    kinboy
    kinboy
    OP
    Jul 23, 2024
    6
    @wulays #5 这个不错
    lneoi
    lneoi
    Jul 23, 2024
    7
    系统有自带的 Netsh interface portproxy 命令
    netsh interface portproxy add v4tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName}] [[protocol=]tcp]
    kinboy
    kinboy
    OP
    Jul 23, 2024
    8
    @lneoi #7 脚本就是调的 Netsh 命令,只是觉得这个命令每次用起来输入太麻烦
    Davic1
    Davic1
    Jul 23, 2024
    9
    Windows 上没有找到很好用的端口转发工具,就用 Powershell 写了一个脚本

    这就话本身就是矛盾的...

    7# 说的 netsh 就是 windows 上的端口转发工具。
    liuliancao
    liuliancao
    Jul 23, 2024
    10
    挺好的 我们服务器上也在用 netsh 缺点是没法记录老的 只能 netstat -ano|findstr 找下
    stew5566
    stew5566
    Jul 23, 2024
    11

    有用过 vscode 的连接远程,不知道这个能不能给你用上
    Belmode
    Belmode
    Jul 23, 2024❤️1
    12
    @Davic1 #9

    "Windows 上没有找到很好用的端口转发工具,就用 Powershell 写了一个脚本" ❌

    "我开发了一个很好用的脚本工具,要跟大家炫耀一下" ✔️
    nfksuk
    nfksuk
    Jul 23, 2024
    13
    想找一个 gose 的加密转发工具 windows 的
    kinboy
    kinboy
    OP
    Jul 23, 2024
    15
    @Davic1 #9 嗯,脚本只是把 netsh 一些常用的基础功能封装了一下,降低使用难度
    kinboy
    kinboy
    OP
    Jul 23, 2024
    16
    @Belmode #12 哈哈应该说想要分享一下,这个东西实在太简单没啥好炫耀的,自己感觉还挺好用,就拿出来,没准有人需要
    kinboy
    kinboy
    OP
    Jul 23, 2024
    17
    @liuliancao #10 netsh 的命令实在难敲
    kinboy
    kinboy
    OP
    Jul 23, 2024
    18
    @han3sui #14 star 一个
    vvhy
    vvhy
    Jul 23, 2024 via Android
    19
    经常用端口转发+hosts 把一些本地的服务面板之类的映射到域名,哈哈
    xy2401
    xy2401
    Jul 24, 2024
    20
    我上周也想要一个这个工具。笔记本本地示范项目默认配置连 localhost 的数据库之类服务 不想修改配置文件 , 但是想连着台式机服务。
    也考虑 netsh 或者 ssh 的端口转发但是太复杂了。
    后面 vscode 远程调试发现自带端口转发,也可以配置在 .vscode/settings.json 里面 并且可以有注释。
    缺点就是 要 vscode 打开远程项目(目标主机的)。
    start 了项目希望也可以读取配置文件之类更友好的使用


    {
    "remote.SSH.defaultForwardedPorts": [
    {
    "localPort": 8080,
    "remotePort": 8080,
    "name": "Web 服务器",
    "description": "将远程 8080 端口映射到本地 8080 端口,可用于访问部署在远程服务器上的 Java Web 应用。"
    },
    {
    "localPort": 5432,
    "remotePort": 5432,
    "name": "PostgreSQL 数据库",
    "description": "将远程 5432 端口映射到本地 5432 端口,可用于连接到远程服务器上的 PostgreSQL 数据库。"
    },
    {
    "localPort": 3306,
    "remotePort": 3306,
    "name": "MySQL 数据库",
    "description": "将远程 3306 端口映射到本地 3306 端口,可用于连接到远程服务器上的 MySQL 数据库。"
    },
    {
    "localPort": 9092,
    "remotePort": 9092,
    "name": "ActiveMQ",
    "description": "将远程 9092 端口映射到本地 9092 端口,可用于连接到 ActiveMQ 消息队列。"
    },
    {
    "localPort": 61616,
    "remotePort": 61616,
    "name": "Kafka",
    "description": "将远程 61616 端口映射到本地 61616 端口,可用于连接到 Kafka 消息队列。"
    },
    {
    "localPort": 5672, // RabbitMQ AMQP 协议端口
    "remotePort": 5672,
    "name": "RabbitMQ AMQP",
    "description": "将远程 5672 端口映射到本地 5672 端口,用于 RabbitMQ 的 AMQP 协议通信。"
    },
    {
    "localPort": 15672, // RabbitMQ 管理界面端口
    "remotePort": 15672,
    "name": "RabbitMQ 管理界面",
    "description": "将远程 15672 端口映射到本地 15672 端口,可用于访问 RabbitMQ 的 Web 管理界面。"
    }
    ]
    }
    artiga033
    artiga033
    Jul 24, 2024 via Android
    21
    原来是封装 netsh 啊,我还以为是用 Powershell 调.NET BCL 实现的 l4 转发呢

    netsh 我经常加了之后忘了删,然后下次干别的事时候又忘了这回事,还以为遇到什么玄学 bug 了。

    反正本地调试的场景也不关心它是 l3 还是 l4 那点性能差别,我一般还是选择 l4 转发。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4951 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 06:44 · PVG 14:44 · LAX 22:44 · JFK 01:44
    ♥ Do have faith in what you're doing.