向日葵 | 2025-11-21
关闭 Windows 远程端口需分 “定位在用端口→关闭对应服务→配置防火墙拦截→验证关闭效果” 四步,核心是切断端口关联的服务进程并阻断网络流量。若使用向日葵等远程工具,需同步关闭工具相关端口,以下是全流程实操指南。
关闭端口前必须确认目标端口及关联服务,避免误关导致系统异常,关键操作如下:
1. 定位默认远程桌面端口(3389)
打开 CMD,执行命令查看 3389 端口是否被占用及关联进程:netstat -ano | findstr :3389
若返回结果(如TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1234),说明端口已启用,末尾数字 “1234” 为进程 ID。
2. 定位自定义远程端口(如 15678)
若此前修改过远程端口,执行以下命令查询所有监听中的 TCP 端口,筛选远程相关端口:Get-NetTCPConnection -State Listen | Select-Object LocalPort, OwningProcess
3. 定位向日葵相关端口
向日葵默认使用动态端口,但可通过客户端查看:打开向日葵客户端,进入 “设置→网络设置”,在 “端口配置” 中可见当前使用的通信端口,通常为 3000-5000 范围内的动态端口。
根据是否保留远程服务需求,可选择 “彻底关闭服务” 或 “仅禁用端口” 两种方式,适配不同使用场景:
1. 彻底关闭远程桌面服务(禁用 3389 端口核心方法)
适用于完全不再使用系统远程桌面的场景,操作步骤:
-图形化操作:右键 “此电脑→属性→远程设置”,取消勾选 “允许远程连接到此计算机”,点击 “确定”。
-命令行操作:以管理员身份打开 PowerShell,执行命令强制停止并禁用远程桌面服务:
Stop-Service TermService -Force
Set-Service TermService -StartupType Disabled
-关键提示:此操作会直接关闭 3389 端口,无需额外配置防火墙,重启后仍保持禁用状态。
2. 仅禁用自定义远程端口(保留服务但关闭特定端口)
适用于曾修改过远程端口(如 15678),需关闭旧端口的场景:
以管理员身份执行 CMD 命令,删除对应防火墙允许规则并阻断端口:
netsh advfirewall firewall delete rule name="远程桌面-映射端口" # 删除旧允许规则
netsh advfirewall firewall add rule name="阻断TCP-15678" dir=in action=block protocol=TCP localport=15678 enable=yes
netsh advfirewall firewall add rule name="阻断TCP-15678" dir=out action=block protocol=TCP localport=15678 enable=yes
防火墙设置是关闭远程端口的关键加固环节,需同时配置入站与出站规则,确保双向阻断:
1. 图形化配置防火墙拦截规则(以 3389 端口为例)
-打开 “高级安全 Windows 防火墙”:按下Win+R输入wf.msc回车。
-新建入站规则:点击 “入站规则→新建规则”,选择 “端口→TCP→特定本地端口(3389)→阻止连接”,勾选所有配置文件(域、专用、公用),命名为 “阻断 RDP-3389 入站” 并保存。
-新建出站规则:重复上述步骤,在 “出站规则” 中创建相同规则,命名为 “阻断 RDP-3389 出站”,实现双向拦截。
2. 命令行快速配置防火墙(批量阻断高效方法)
以管理员身份执行 PowerShell 命令,一键阻断 3389 与自定义端口(如 15678):
New-NetFirewallRule -DisplayName "阻断RDP-3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block -Enabled True
New-NetFirewallRule -DisplayName "阻断RDP-3389" -Direction Outbound -Protocol TCP -LocalPort 3389 -Action Block -Enabled True
# 阻断自定义端口15678
New-NetFirewallRule -DisplayName "阻断自定义远程端口" -Direction Inbound -Protocol TCP -LocalPort 15678 -Action Block -Enabled True
New-NetFirewallRule -DisplayName "阻断自定义远程端口" -Direction Outbound -Protocol TCP -LocalPort 15678 -Action Block -Enabled True
若使用向日葵实现远程访问,关闭其相关端口需通过工具设置与系统配置结合操作:
1. 关闭向日葵远程功能(禁用工具端口核心步骤)
-打开向日葵客户端(未安装可从 https://sunlogin.oray.com/download下载 ),登录账号后点击右上角 “设置” 图标。
-进入 “安全设置”,找到 “远程控制权限”,取消勾选 “允许远程控制本机”,保存设置后,向日葵将自动关闭其占用的通信端口。
2. 防火墙阻断向日葵端口(加固措施)
若需彻底阻断,可在向日葵 “设置→网络设置” 中查看当前使用的端口(如 3030),执行命令阻断:
netsh advfirewall firewall add rule name="阻断向日葵端口" dir=in action=block protocol=TCP localport=3030 enable=yes
关闭端口后需通过命令验证,确保无遗漏,关键命令如下:
1. 基础端口状态检测
执行 CMD 命令,分别检测 3389 与自定义端口状态:
netstat -ano -p tcp | find "3389" >nul 2>nul && echo 3389端口已开启 || echo 3389端口未开启
netstat -ano -p tcp | find "15678" >nul 2>nul && echo 15678端口已开启 || echo 15678端口未开启
2. 防火墙规则有效性检测
执行 PowerShell 命令,查看阻断规则是否启用:
Get-NetFirewallRule -DisplayName 阻断 | Select-Object DisplayName, Enabled, Action
3. 连通性测试(终极验证)
在另一台设备上执行命令,测试目标端口是否可连通:
Test-NetConnection 目标IP -Port 3389 # 显示“TcpTestSucceeded: False”即为阻断成功
关键提示:所有配置需重启电脑后完全生效,重启后需重新执行检测命令确认。
1. 关闭远程端口后仍提示被占用? 执行tasklist | findstr 进程ID(进程 ID 从 netstat 命令获取),结束对应进程,再重新执行关闭命令。
2. 如何批量关闭多个远程相关端口? 用 PowerShell 循环命令:$ports=3389,15678; foreach($p in $ports){New-NetFirewallRule -DisplayName "阻断$p" -Direction Inbound -Protocol TCP -LocalPort $p -Action Block -Enabled True}。
3. 关闭端口后想重新启用怎么办? 删除阻断规则(netsh advfirewall firewall delete rule name="阻断RDP-3389"),再启用远程服务(Set-Service TermService -StartupType Automatic; Start-Service TermService)即可。