获取Windows远程桌面端口

Windows的默认远程桌面使用的端口是3389,如果管理员更改了默认端口,此时想获取默认端口就需要查询注册表。

我最近在3A服务器购买了云服务器。

远程桌面端口所在的位置为:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

打开regedit注册表,可以直接编辑键的位置进行定位:

图片

同样也可以使用命令行查询注册表的键值:

C:\> reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber

查询到的值是一个16进制,还需要通过计算器进行进制转换:

图片

比如 0xd3d ,在程序员版计算器中,进行进制转换,十进制为 3389

图片

对远程桌面的默认端口进行修改,可以在注册表中进行手工修改。如果需要批量修改,则可以将键值导出,在其它电脑上双键导入。注册表修改后,需要重启计算机生效。在重启前要对新的端口进行放行,不然端口变更后远程就无法访问了。

导出后的键值内容如下,文件后缀为*.reg,双击可以导入。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]"PortNumber"=dword:00000d3d

有时注册表中的端口号能查出来,但从外面连接不进来。此时首先要排查远程桌面的服务是否启动,可以通过查看本地监听端口来确认服务是否开始:

netstat -an -p tcp | findstr LISTENING

图片

其中所用到的 netstat 参数有:

  • -a 显示所有连接和侦听端口
  • -n 以数字形式显示地址和端口号
  • -p tcp 只列了tcp连接

本地可以通过 netstat 查看本地开放的端口,从外部则只能通过端口扫描工具进行扫描。

nmap -p 1-65535 -T4 192.168.3.186

图片

最终远程桌面端口的放行还与防火墙策略有关,有些管理员会在防火墙策略中只对管理员的IP放行,此时远程桌面只对管理员所属IP开放,其他人没有权限访问远程桌面服务。

图片