WinRM端口复用原理
使用Windows的远程管理服务WinRM,结合 HTTP.sys 驱动自带的端口复用功能,实现正向的端口复用。
使用命令
netsh http show servicestate
端口复用配置
新增80端口监听
对于Windows Server 2012以上的服务器操作系统中,WinRM服务默认启动并监听了5985端口。如果服务器本来就监听了80和5985端口,则所以我们既需要保留原本的5985监听端口,同时需要新增Winrm监听80端口。这样的话,WinRM同时监听80和5985端口。既能保证原来的5985端口管理员可以正常使用,我们也能通过80端口远程连接WinRM。
通过命令:
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}
可以新增一个WinRM一个80端口的监听
输入命令查询:winrm e winrm/config/listener
查看监听端口
80端口正常访问网页
修改WinRM默认监听的端口
如果该计算机上原本没有开启WinRM服务的话,则需要将WinRm端口监听端口修改为80端口。不然管理员看到该机器开起来5985端口的话,肯定会有疑问。
快速启动WinRM
winrm quickconfig -q
修改WinRM默认端口为80
winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}
可以看出已经没有监听5985端口了,只有80端口
配置完成之后,原本的HTTP服务可以正常访问,我们也可以通过80端口进行远程WinRM连接管理
远程连接WinRM(本地物理机远程连接虚拟机)
本地连接需要WinRM服务时,首先也需要配置启动WinRM服务。如果是工作组环境的话,还需要设置信任连接的主机,执行以下两条命令即可。注:所有的命令是要以管理员身份进行的,不然会执行失败
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}
通过WinRM连接,并执行whoami命令
winrs -r:http://192.168.x.x -u:admin -p:root whoami
通过WinRM连接,并获得交互式的shell
winrs -r:http://192.168.x.x -u:admin -p:root cmd
本地物理机远程连接虚拟机