[转帖]Windows 内置端口转发功能
如何在Windows中使用netsh命令进行端口转发
https://www.freebuf.com/articles/system/176889.html

早上自己做了下实验,的确可以。linux下 ssh可以做端口转发,windows 下面的netsh也是可以做端口转发的

已下是正文:
感谢原作者
自Windows XP开始,Windows中就内置网络端口转发的功能。任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门用于侦听该端口的服务。
在Linux中,使用iptables可以非常轻松地配置端口重定向。在Windows Server系统上,路由和远程访问服务(RRAS)通过使用虚拟专用网络 (VPN) 或拨号连接支持远程用户或站点到站点连接,但这种方式相对较为麻烦。其实,除此之外还有一种更为简单的方法可以帮助我们在Windows中实现端口转发,即我们可以使用命令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=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110

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

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

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

以上条件必须满足,如果没有IP Helper服务且未启用IPv6支持,则端口重定向将不起作用。
你可以使用其PID找出正在侦听此端口的进程(在我们的示例中PID为636):
tasklist | findstr 636
让我们使用任意的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=10.1.1.110 localport=3340 action=allow
你可以创建任意数量的Windows端口转发规则。所有netsh interface portproxy规则都是持久性的,并会在Windows系统重启后被保存。
显示系统中的转发规则列表:
netsh interface portproxy show all
在我们的例子中,只有一个转发规则即从3340到3389端口的转发:
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
10.1.1.110 3340 10.1.1.110 3389

Tip:此外,portproxy设置可以通过以下命令查看:
netsh interface portproxy dump
#========================
# Port Proxy configuration
#========================
pushd interface portproxy
reset
add v4tov4 listenport=3340 connectaddress=10.1.1.110 connectport=3389
popd
# End of Port Proxy configuration

删除指定的端口转发规则:
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
清除所有当前的端口转发规则:
netsh interface portproxy reset
重要:以上端口转发仅适用于TCP端口,对于UDP端口将不起作用,并且不能使用127.0.0.1作为连接地址。
如果要将传入的TCP连接转发至另一台计算机,则命令如下:
netsh interface portproxy add v4tov4 listenport=3389 listenaddress=0.0.0.0 connectport=3389 connectaddress=192.168.100.101
此规则将所有传入的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。
[转帖]Windows 内置端口转发功能的更多相关文章
- Windows内置安全主体
转自:https://blog.csdn.net/xcntime/article/details/51746148 导读:对于Windows内置安全主体特别需要注意的是:你无法创建.重命名和删除它们, ...
- SSH隧道:端口转发功能详解
SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 1.1 ssh安全隧道(一):本地端口转发 如下图,假如host3和host ...
- 利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比)
利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比) 以下是红色内容是在命令行运行: C:\Users\Administrator>winsat diskWindow ...
- jsp内置对象 转发与重定向的区别
jsp 内置对象 转发与重定向的比较 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重 ...
- django内置的分页功能
django内置的分页功能 # 先导入需要查询的模型类 from game.models import Score # 导入内置的分页功能 from django.core.paginator imp ...
- 传输层隧道技术之lcx内网端口转发
传输层技术包括TCP隧道.UDP隧道和常规端口转发等.在渗透测试中,如果内网防火墙阻止了指定端口的访问,在获得目标机器的权限后,可以使用IPTABLES打开指定端口.如果内网中存在一系列防御系统,TC ...
- linux下内网端口转发工具:linux版lcx [实现远程内网维护]
这个工具以前使用的初衷是内网渗透,需要将内网ssh端口转发到外网服务器上.但这个工具同样适用于运维工程师进行远程内网维护. 当然这一切的前提是内网可以访问外网,检测方法当然就是直接ping 一个外网I ...
- SSH 内网端口转发实战
导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧 ...
- secureCRT端口转发功能
总共有三台机器: A是办公网络的windows主机, B是一台linux堡垒机(114.144.xxx.xx), C是内网生产环境一台linux机器(192.168.1.6), A只能访问B但A不能访 ...
随机推荐
- Python高级网络编程系列之基础篇
一.Socket简介 1.不同电脑上的进程如何通信? 进程间通信的首要问题是如何找到目标进程,也就是操作系统是如何唯一标识一个进程的! 在一台电脑上是只通过进程号PID,但在网络中是行不通的,因为每台 ...
- Python2.7-glob
glob 模块,寻找所有匹配指定的模式的路径名,利用的是 Unix shell 的规则,可以在 Windows 环境下使用.模块是通过 os.listdir() 和 fnmatch.fnmatch() ...
- C. Permutation Cycle
For a permutation P[1... N] of integers from 1 to N, function f is defined as follows: Let g(i) be t ...
- centos 7 配置iptables(转) + iptabes规则理解
一.防火墙配置 1.检测并关闭firewall 1 2 3 4 5 systemctl status firewalld.service #检测是否开启了firewall systemctl st ...
- Oracle 视图view
在我看来,oracle的视图就是用于将多个表的关联查询结果映射成[临时表],视图与系统表中的数据是实时对应的. 我们可以像操作表的查询一样来操作视图查询. 视图写法: CREATE OR REPLAC ...
- 20155232《网络对抗》Exp7 网络欺诈防范
20155232<网络对抗>Exp7 网络欺诈防范 一.实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立冒名网 ...
- 20155239吕宇轩 Exp1 PC平台逆向破解(5)M
20155239 网络对抗 Exp1 PC平台逆向破解(5)M 实验内容 (1).掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(1分) (2)掌握反汇编与十六进制编程器 (1分) ...
- Exp5
实验 实验1 - 直接攻击系统开启的漏洞服务,获取系统控制权 1.选择要使用的模块 在这里我选择的模块是ms08_067 首先我们需要查询一下有关ms08_067所在模块的相关信息 search ms ...
- VS编程,WPF单独更改TextBlock中部分文字格式的一种方法
原文:VS编程,WPF单独更改TextBlock中部分文字格式的一种方法 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...
- python 回溯法 子集树模板 系列 —— 19、野人与传教士问题
问题 在河的左岸有N个传教士.N个野人和一条船,传教士们想用这条船把所有人都运过河去,但有以下条件限制: (1)修道士和野人都会划船,但船每次最多只能运M个人: (2)在任何岸边以及船上,野人数目都不 ...