禁用 Windows 共享服务,释放 445 端口
在 Windows 系统的默认配置下,会启动一个共享服务(Samba, SMB),以使局域网内的机器可以通过如 \\192.168.1.1
的形式来访问系统中共享的文件和打印机等。
该服务主要使用 445 端口进行通信,我们可以通过命令 netstat -an | findstr :445
来确认该端口被占用。
如果无需使用该服务,或者想要释放 445 端口供其他应用使用的话,我们可以禁用 Windows 共享服务。
Windows 共享服务的显示名称为 Server
,实际服务名为 LanmanServer
。
在 Windows 10 之前的系统中,或在启用了 SMB 1.0 支持的 Windows 10 系统中,另有一项依赖此服务的服务,显示名称为 Computer Browser
,实际服务名为 Browser
,该服务维护网络上计算机的更新列表,并会展示在资源管理器左侧的网络项目下。
要想禁用并停止这两项服务,我们可以打开服务 (services.msc
),在其中分别找到这两项服务,右键进入属性,选择禁用和停止即可。
此外,我们也可以通过命令行来禁用并停止相关服务。
sc.exe config Browser start= disabled
sc.exe stop Browser
sc.exe config LanmanServer start= disabled
sc.exe stop LanmanServer
当服务停止后,我们可以发现此时已经无法在资源管理器中访问之前的共享了。并会报出以下其中一种错误:
然而要使 Windows 释放 445 端口,除了停止服务,我们还需要重启一次计算机。
重启完成后,再执行之前执行过的 netstat -an | findstr :445
命令,我们会发现原先被占用的端口已经被释放了。
至此,我们就成功地停止并禁用了相关服务,释放了 445 端口。