首页 > 系统相关 >windows自带的端口转发工具

windows自带的端口转发工具

时间:2024-03-28 15:24:07浏览次数:20  
标签:netsh windows 端口 portproxy IPv4 转发 interface 自带

前言

端口转发,这个功能在平时的开发中用到的还是比较多的,记录下 Windows 如何使用自带的软件实现端口转发。

命令介绍
Windows 从 Windows 2000 开始就提供了最基本的端口转发功能,是基于 Windows 的 IP Helper 服务的,不仅可以提供端口转发功能,还可以通过将 IPv4 和 IPv6 的不同地址的数据进行转发,但是只可以转发 TCP 协议,暂不支持 UDP 协议,使用 netsh interface portproxy 命令即可开启。

先看下命令帮助:

PS C:\Windows\system32> netsh interface portproxy

下列指令有效:

此上下文中的命令:
? - 显示命令列表。
add - 在一个表格中添加一个配置项。
delete - 从一个表格中删除一个配置项。
dump - 显示一个配置脚本。
help - 显示命令列表。
reset - 重置端口代理配置状态。
set - 设置配置信息。
show - 显示信息。
一个一个介绍,先说 show 命令:

show命令
show 命令可以查看已经存在的端口转发规则。用法如下:

show all - 显示所有端口代理参数。
show v4tov4 - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
show v4tov6 - 显示 IPv4 代理连接到 IPv6 的参数。
show v6tov4 - 显示 IPv6 代理连接到 IPv4 的参数。
show v6tov6 - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。
例如我想查看所有的端口转发规则,则可以使用 netsh interface portproxy show all。

PS C:\Windows\system32> netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口


127.0.0.1 3389 25.63.54.89 3389
help命令
这个就不说了,打印帮助信息...

add命令
add 命令可以增加一条端口转发规则,具体用法为:

add v4tov4 - 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
add v4tov6 - 添加通过 IPv6 的 IPv4 和代理连接到的侦听项目。
add v6tov4 - 添加通过 IPv4 的 IPv6 和代理连接到的侦听项目。
add v6tov6 - 添加通过 IPv6 的 IPv6 和代理连接到的侦听项目。

用法: add v4tov4 [listenport=]|
[connectaddress=]|
[[connectport=]|]
[[listenaddress=]|]
[[protocol=]tcp]

参数:

标记 值
listenport - IPv4 侦听端口。
connectaddress - IPv4 连接地址。
connectport - IPv4 连接端口。
listenaddress - IPv4 侦听地址。
protocol - 使用的协议。现在只支持 TCP。
例如我想将本地的 3389 端口转发到远程的 3389 端口上,可以使用以下命令实现:

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=3389 connectaddress=25.63.54.89 connectport=3389
其中 v4tov4 的作用在于将 IPv4 地址的 3389 端口转发到 IPv4 地址的 3389端口上,listenaddress 指定本地监听的地址,listenport 指定本地监听的端口,connectaddress 指定要将数据转发到哪个地址去,也就是目的地址,connectport 指定要转发到的端口,也就是目的端口。

delete命令
delete 命令用来删除一条端口转发规则,删除时只需要指定端口转发的监听地址和端口即可,具体用法为:

delete v4tov4 - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。
delete v4tov6 - 删除通过 IPv6 的 IPv4 和代理连接到的侦听项目。
delete v6tov4 - 删除通过 IPv4 的 IPv6 和代理连接到的侦听项目。
delete v6tov6 - 删除通过 IPv6 的 IPv6 和代理连接到的侦听项目。

用法: delete v4tov4 [listenport=]|
[[listenaddress=]|]
[[protocol=]tcp]

参数:

标记 值
listenport - 要侦听的 IPv4 端口。
listenport - 要侦听的 IPv4 地址。
protocol - 要使用的协议。当前仅支持 TCP。
例如我想删除刚才添加的端口转发规则,先查看下目前存在的端口转发规则:

PS C:\Windows\system32> netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口


127.0.0.1 3389 25.63.54.89 3389
执行删除命令 PS C:\Windows\system32> netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=3389 即可。

PS C:\Windows\system32> netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=3389

PS C:\Windows\system32> netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口



dump命令
dump 命令可以将已存在的端口转发规则进行输出,保存到一个文件中或者输出到控制台的标准输出中,方便发送给其他人或者进行备份,以备下次还原。

执行 netsh interface portproxy dump 将配置信息输出到控制台的标准输出,或者执行 netsh interface portproxy dump > 1.txt 命令将配置信息重定向到文件中。

PS D:\360download> netsh interface portproxy dump

========================

端口代理配置

========================

pushd interface portproxy

reset
add v4tov4 listenport=3389 connectaddress=25.63.54.89 connectport=3389

popd

端口代理配置结束

PS D:\360download> netsh interface portproxy dump >1.txt
set命令
set 命令可以修改现有的端口转发配置,也可以新加端口转发配置。

例如将刚才的远程地址和端口改为 123.124.125.126:3390,使用以下命令来修改。

PS C:\Windows\system32> netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口


127.0.0.1 3389 25.63.54.89 3389

D:\360download>netsh interface portproxy set v4tov4 listenaddress=127.0.0.1 listenport=3389 connectaddress=123.124.125.126 connectport=3390

D:\360download>netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口


127.0.0.1 3389 123.124.125.126 3390
本来以为可以将刚才 dump 命令导出的配置重新导入的,但是我没成功....可能人家就没设计这个功能吧, 有点尴尬的...如果有知道的小伙伴可以告诉我。

reset命令
reset 命令可以重置所有的端口转发规则,如果没有备份的小伙伴慎用。

D:\360download>netsh interface portproxy show all

侦听 ipv4: 连接到 ipv4:

地址 端口 地址 端口


127.0.0.1 3389 123.124.125.126 3390

D:\360download>netsh interface portproxy reset

D:\360download>netsh interface portproxy show all

D:\360download>
注意事项
如果有添加了规则但是规则不生效的小伙伴,可以检查下 Windows 的 IP Helper 服务是否开启,因为端口转发功能是由这个服务支持的,一定要保证它是正常运行的才可以。还有,在监听本地地址上的端口时,最好先确定本地的端口没有被占用,防止端口冲突影响其他程序的正常运行。

总结
以上就是端口转发功能的使用教程,在平时的开发中临时需要和虚拟机通信或者其他场景中还是比较常用的,虽然只支持 TCP 协议,不过 UDP 在平时使用的并不多,TCP 也足够了,所以还是可以满足日常开发需求的。

标签:netsh,windows,端口,portproxy,IPv4,转发,interface,自带
From: https://www.cnblogs.com/fengyang0824/p/18101767

相关文章

  • Windows11系统wslclient.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个wslclient.dll文件(挑选合适的版本文件)把它......
  • Docker expose指令和-p 指令指定的端口区别
    expose指令用法该 EXPOSE 指令通知Docker容器在运行时侦听指定的网络端口,可以指定端口是侦听TCP还是UDP,如果未指定协议,则默认为TCP。EXPOSE80/tcpEXPOSE80/udpEXPOSE 指令实际上不会发布端口。它充当构建映像的人员和运行容器的人员之间的一种文档,用于发布要......
  • (GPT) Windows 下使用 cmd 删除文件夹
    在Windows命令提示符(CMD)中删除文件夹(也称为目录)可以使用rmdir或rd命令。这里有几个例子说明如何使用这些命令:删除空文件夹:rmdir"文件夹路径"或者rd"文件夹路径"这里的"文件夹路径"应该替换为你想删除的文件夹的实际路径。如果文件夹名或路径包含空格,请确保将路径放在双......
  • 在 Windows Server 2022 系统中,你可以使用一些组合命令结合系统自带的工具来实现文件
    在WindowsServer2022系统中,你可以使用一些组合命令结合系统自带的工具来实现文件夹同步。以下是一个示例组合命令,结合Robocopy和TaskScheduler来实现文件夹同步:使用Robocopy进行文件夹同步:Robocopy是Windows自带的一个命令行工具,用于复制大量文件和文件夹。你可......
  • 文件宝App如何使用smb功能(Windows电脑)
    1.使用系统搜索“高级共享设置”,然后打开。如下图①、②2.然后在弹出的页面中勾选两项,如下图中③3.然后使用系统搜索“启用或关闭Windows功能”,然后打开,如下图①、②4.然后在弹出的页面中找到并勾选对应4项,如下图③,最后点击“确定”,然后重启电脑即可注意:后面使用文件宝App......
  • 实验一 Windows
    加分项:在Windows中编译OpenSSL链接openssl设置编译运行OpenSSL使用base64编码/解码#include<openssl/evp.h>#include<openssl/bio.h>#include<openssl/buffer.h>#include<string.h>#include<iostream>usingnamespacestd;char*base64Enc......
  • 增强的python控制windows命令行程序
    之前写过一篇关于python控制命令行的程序:python控制windows命令行程序使用之后发现,对于普通内置dos命令没有问题,但是对于有些控制台程序没有作用,比如python程序,就捕获不到输出信息.经过查阅相关资料,发现有些控制台程序需要真正的终端才能够正常运行.windows有一个......
  • GPIO端口的BSRR的使用
    BSRR只写寄存器既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高16bit写1对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写0,无动作首先看GPIOC的定义接着看这个类型的定义可以看到BSRR为无符号的32位的整形接下来看GPIO_Pin_13的定义可以看......
  • .NET开源免费、功能强大的 Windows 截图录屏神器
    前言今天大姚给大家分享一款.NET开源免费(基于GPL3.0开源协议)、功能强大、简洁灵活的Windows截图、录屏、Gif动图制作神器:ShareX。功能特性ShareX是一个开源的屏幕捕捉工具,具有丰富的功能特性,包括但不限于:屏幕截图:支持全屏、窗口、矩形区域等多种截图模式,可快速捕捉屏幕......
  • Windows的Linux子系统迁移
    默认Windows的Linux子系统(WSL)安装的C盘,如果有用作Docker镜像制作很容易磁盘不够用。可采取如下步骤迁移(以下在WindowsPowerShell中进行的,但在CMD.exe中执行效果相同):1、执行一下命令查看Linux子系统的发行版名称(distroname)PSD:\>wsl-l-vNAME......