windows自带的netsh的使用
0x01netsh简介
自Windows XP开始,Windows中就内置网络端口转发的功能。任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门用于侦听该端口的服务。
在Linux中,使用iptables可以非常轻松地配置端口重定向。在Windows Server系统上,路由和远程访问服务(RRAS)通过使用虚拟专用网络 (VPN) 或拨号连接支持远程用户或站点到站点连接,但这种方式相对较为麻烦。其实,除此之外还有一种更为简单的方法可以帮助我们在Windows中实现端口转发。
0x02 netsh使用
即我们可以使用命令Netsh的Portproxy模式配置Windows中的端口转发。该命令的语法如下:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport listenaddress – 等待连接的本地IP地址。 listenport – 本地侦听TCP端口。 connectaddress – 将传入连接重定向到本地或远程IP地址(或DNS名称)
connectport – 一个TCP端口,来自listenport的连接会被转发到该端口。假设当前我们的RDP服务端口在一个非标准端口上进行响应,如3340(端口可以在服务设置中更改)。为此,我们需要将传入流量从TCP端口3340重定向到另一个本地端口 – 3389(即标准rdp端口)。
我们以管理员身份启动命令提示符并执行以下命令:
netsh interface portproxy add v4tov4 listenport= listenaddress=192.168.190.133 connectport= connectaddress=192.168.190.133

192.168.190.133 – 计算机的当前IP地址。
使用netstat确保3340端口当前处于被侦听状态:
netstat -ano | findstr :3340

注意:如果该命令未返回任何内容并且通过netsh interface portproxy进行端口转发不成功,则请确保iphlpsvc(IP Helper)服务当前已在你的系统上运行。

必须在为其创建端口转发规则的网络接口上启用IPv6支持。

以上条件必须满足,如果没有IP Helper服务且未启用IPv6支持,则端口重定向将不起作用。
你可以使用其PID找出正在侦听此端口的进程(在我们的示例中PID为856):
tasklist | findstr 856

让我们使用任意的RDP客户端尝试从远程系统连接到此计算机。指定RDP端口3340,在RDP服务器地址后以冒号分隔,例如10.10.1.110:3340


如果不出问题的话,连接应该会被成功建立。
重要:请确保防火墙(Windows防火墙或通常包含在杀毒软件中的第三方防火墙)允许到新端口的传入连接。 如有必要,可以使用以下命令添加新的Windows防火墙规则:
netsh advfirewall firewall add rule name=”forwarded_RDPport_3340” protocol=TCP dir=in localip=192.168.190.133 localport= action=allow
你可以创建任意数量的Windows端口转发规则。所有netsh interface portproxy规则都是持久性的,并会在Windows系统重启后被保存。
显示系统中的转发规则列表:
netsh interface portproxy show all
在我们的例子中,只有一个转发规则即从3340到3389端口的转发:

Tip:此外,portproxy设置可以通过以下命令查看:
netsh interface portproxy dump

删除指定的端口转发规则:
netsh interface portproxy delete v4tov4 listenport= listenaddress=192.168.190.133
清除所有当前的端口转发规则:
netsh interface portproxy reset
重要:以上端口转发仅适用于TCP端口,对于UDP端口将不起作用,并且不能使用127.0.0.1作为连接地址。
如果要将传入的TCP连接转发至另一台计算机,则命令如下:
netsh interface portproxy add v4tov4 listenport= listenaddress=0.0.0.0 connectport= connectaddress=192.168.100.133
此规则将所有传入的RDP请求(到3389端口)从此计算机重定向到IP地址为192.168.1.101的远程计算机上。
portproxy的另一个特性就是可以让它看起来像任意的远程网络服务在本地运行。
例如,将连接从本地端口5555转发至远程地址157.166.226.25(CNN网站):
netsh interface portproxy add v4tov4 listenport=5555 connectport=80 connectaddress= 157.166.226.25 protocol=tcp
现在,如果你在浏览器中访问http://localhost:5555/,则将打开CNN网站的主页。因此,尽管浏览器对本地计算机进行了寻址,但它仍会打开一个远程页面。

端口转发还可用于将端口从网卡的外部地址,转发到在同一计算机上运行的虚拟机端口。
此外,在Windows Server 2012 R2中情况可能会有所不同。在Windows Server 2012 R2中,端口转发规则仅在系统重启之前有效,并且在重启后它们会被重置。出现这种病情况,你需要检查网络接口上是否存在定期断开连接,以及操作系统引导时IP地址是否发生更改(最好使用静态IP地址)。作为一种解决方案,我会添加一个使用netsh interface portproxy规则的脚本到Windows scheduler,以在系统启动时运行。
在Windows Server 2003/XP中,必须在注册表项HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters中另外将IPEnableRouter参数设置为1。
0x03 03和08中netsh的不同
首先是03中netsh命令选项

08的netsh

明显看到选项参数有不同,而且明显08的netsh选项参数多了一些。
具体的大家可以查询使用帮助和官方文档进行学习使用。
windows自带的netsh的使用的更多相关文章
- windows自带的netsh 端口转发
netsh interface portproxy show v4tov4 (3)添加“端口映射” netsh interface portproxy add v4tov4 listenaddress ...
- Windows自带的端口转发工具netsh使用方法_DOS/BAT
Windows自带的端口转发工具netsh使用方法_DOS/BAT 作者:用户 来源:互联网 时间:2017-02-22 17:24:30 netsh 端口转发 摘要: 下面的代码在windows ...
- Windows自带Android模拟器启动失败
Windows自带Android模拟器启动失败 错误信息:[Critical] XDE Exit Code: InvalidArguments (3)XDE执行的第三个参数为设置内存值,形式为/mem ...
- delphi调用windows自带语音功能
windows自带语音接口 SAPI.SpVoice, 接口说明如下 https://docs.microsoft.com/en-us/previous-versions/windows/deskto ...
- 教你用Windows自带工具给优盘/移动硬盘添加密码
教你用Windows自带工具给优盘/移动硬盘添加密码 本文中优盘,移动硬盘和分区操作方式一样,为方便描述,下文将只说优盘 优盘成了很多人每天都会用到的工具,有时候自己优盘会存着一些不希望别人看到的文件 ...
- WINDOWS自带md5校验工具
WINDOWS自带的工具certutil.exe, certutil -hashfile chropp.exe MD5; 就可以了
- 用windows自带的ftp.exe实现断点续传的方法
摘自http://www.jb51.net/article/10604.htm 动画下载地址: http://www.chinesehack.org/soft/book/goonftp-jc.rar ...
- Java内存泄露分析和解决方案及Windows自带查看工具
Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历 ...
- windows自带杀毒防火墙
windows自带杀毒防火墙 Windows Defender FireWall
随机推荐
- 算法与数据结构基础 - 递归(Recursion)
递归基础 递归(Recursion)是常见常用的算法,是DFS.分治法.回溯.二叉树遍历等方法的基础,典型的应用递归的问题有求阶乘.汉诺塔.斐波那契数列等,可视化过程. 应用递归算法一般分三步,一是定 ...
- linux ssh连接自动断开问题
场景描述:云上的虚拟机使用public ip连接ssh时,一直提示已经连接,但是就会自动关闭 1. 通过正常虚拟机作为跳板,能够连接到目标机子上,检查发现进程正常,但是就一直连接不上 [root@te ...
- ios 把数组对象转成json字符串存起来
1第一步是我们获取数据源 一般我们都是从接口请求数据 NSArray *subColumnsArray = nil; NSDictionary *dict = [NSJSONSerialization ...
- Charles 破解版免费下载和注册安装教程
本文参考:[Charles 破解版免费下载和注册安装教程](https://www.axihe.com/tools/charles/charles/free-use.html) **软件开发不易,请尽 ...
- SSM整合activiti框架
一:WorkFlow简介 1:什么是工作流工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”.是对工作流程及其各操作步骤之间业务规则的抽象.概括描述.在计算机中,工作流属 ...
- Servlet控制台输出乱码问题
在如下图的配置页面: 在此行添加编码格式:
- Oracle中RMAN基本命令教程
一.target--连接数据库 1.本地: [oracle@oracle ~]$ rman target / 2.远程: [oracle@oracle ~]$ rman target sys/orac ...
- springboot之全局处理统一返回
springboot之全局处理统一返回 简介 在REST风格的开发中,避免通常会告知前台返回是否成功以及状态码等信息.这里我们通常返回的时候做一次util的包装处理工作,如:Result类似的类,里面 ...
- 素数路径Prime Path POJ-3126 素数,BFS
题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...
- Hadoop-1,web页面调用报无hbase.jar包【以解决】 2,报java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem;【以解决】
1:web页面调用报无hbase.jar包 本来java文件就没有问题,但是jsp一调用那个java文件里的方法就报错,报的无hadoop/hbase相关报的问题. 主要解决方法是: 复制hbase/ ...