在Windows系统中,端口445是SMB(Server Message Block)协议所使用的端口,主要用于文件共享、打印共享以及远程管理等服务,由于该协议的历史漏洞较多(如永恒之蓝漏洞),黑客常利用端口445进行攻击,因此在不必要的情况下关闭该端口是提升系统安全性的有效措施,通过CMD命令关闭端口445,可以通过多种方式实现,包括防火墙规则配置、注册表修改以及第三方工具辅助等,以下是详细的操作步骤和注意事项。

通过Windows防火墙关闭端口445
Windows防火墙是系统自带的安全工具,可通过添加入站规则阻止特定端口的访问,具体操作如下:
-
打开CMD命令提示符
按下Win+R键,输入cmd并回车,以管理员身份运行命令提示符。 -
添加防火墙入站规则
输入以下命令创建一个阻止TCP端口445的规则:netsh advfirewall firewall add rule name="Block Port 445" dir=in action=block protocol=TCP localport=445
name:规则名称,可自定义;dir=in:针对入站流量;action=block:阻止连接;protocol=TCP:针对TCP协议;localport=445:目标端口。
-
验证规则是否生效
输入以下命令查看防火墙规则列表:
(图片来源网络,侵删)netsh advfirewall firewall show rule name="Block Port 445"
若显示规则信息,则说明配置成功。
-
删除规则(可选)
如需重新开放端口,可运行以下命令删除规则:netsh advfirewall firewall delete rule name="Block Port 445"
通过注册表永久禁用端口445
修改注册表可以彻底禁用SMB服务,从而关闭端口445,操作前需备份注册表:
-
打开注册表编辑器
在CMD中输入regedit并回车,导航至以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
(图片来源网络,侵删) -
修改注册表值
- 在右侧窗口中,若存在
SMBDeviceEnabled项,双击将其值改为0; - 若不存在,右键点击空白处选择
新建>DWORD(32位)值,命名为SMBDeviceEnabled,值设为0。
- 在右侧窗口中,若存在
-
重启系统生效
修改后需重启计算机才能完全禁用端口445。
通过服务管理器关闭SMB相关服务
禁用SMB服务可直接阻止端口445的监听:
-
打开服务管理器
在CMD中输入services.msc并回车,找到以下服务:Server(SMB服务);Workstation(工作站服务)。
-
停止并禁用服务
双击服务,将启动类型改为禁用,然后点击停止按钮。
注意事项
- 影响共享功能:关闭端口445后将无法使用文件共享和打印机共享,若需共享文件,建议通过云存储或第三方工具替代。
- 企业环境兼容性:在企业网络中,部分依赖SMB协议的设备或应用可能无法正常运行,需提前测试。
- 临时关闭方案:若仅需临时关闭,可使用防火墙规则;长期禁用建议结合服务管理器和注册表操作。
操作步骤对比表
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 防火墙规则 | 操作简单,可随时启用/禁用 | 无法阻止系统内部服务调用 | 临时防护或测试环境 |
| 注册表修改 | 永久禁用,安全性高 | 需重启,操作风险较高 | 长期安全加固 |
| 服务管理器 | 直接关闭服务,彻底阻止 | 可能影响依赖服务 | 无需共享功能的环境 |
相关问答FAQs
问题1:关闭端口445后,如何验证是否成功?
解答:可通过以下方式验证:
- 使用CMD命令
netstat -ano | findstr 445,检查端口是否仍处于LISTENING状态; - 尝试访问局域网内其他设备的共享文件夹,若提示“网络路径找不到”则说明关闭成功;
- 使用端口扫描工具(如PortQry)扫描目标主机的445端口,若显示“已过滤”或“关闭”则验证通过。
问题2:关闭端口445是否会影响系统更新或远程管理?
解答:一般情况下不会影响系统更新,因为Windows更新主要使用HTTP/HTTPS端口(80/443),但部分远程管理工具(如旧版远程桌面)可能依赖SMB协议,若出现连接问题,可启用Windows远程管理(WinRM)服务并配置防火墙规则允许端口5985(HTTP)或5986(HTTPS)流量,对于企业环境,建议先在测试环境中验证兼容性。
