打开cmd
,运行下面四条指令(一条一条的粘贴那样输出好看点)
netstat -ano -p tcp | find "445" >nul 2>nul && echo 445端口(tcp)已开启 || echo 445(tcp)端口未开启
netstat -ano -p udp | find "445" >nul 2>nul && echo 445(udp)端口已开启 || echo 445端口(udp)未开启
netstat -ano -p tcp | find "3389" >nul 2>nul && echo 3389端口(tcp)已开启 || echo 3389端口(tcp)未开启
netstat -ano -p udp | find "3389" >nul 2>nul && echo 3389端口(udp)已开启 || echo 3389端口(udp)未开启
注意:如果输出的都是“...未开启
”,恭喜你就别往下看了,因为你压根没打开过,别人通过这两个漏洞黑不了你。反之,你就往下针对输出情况选择关闭端口。
如果运行下面指令输出:445端口未开启
则跳过下面的步骤,直接跳过该小结
netstat -ano -p tcp | find "445" >nul 2>nul && echo 445端口(tcp)已开启 || echo 445端口未开启
如果输出445端口(tcp)已开启
则按照下面步骤关闭445端口:
1.控制面板的“Windows 防火墙
”页面左侧找到“高级设置
”打开
2. 在“高级安全 windows 防火墙
”页面 左侧 找到 “入站规则
”,右侧点击“新建规则
”。
3.选择“端口
”,点击下一步
。
4.选择Tcp
,在特定本地端口输入445
后点击下一步
5.选择阻止连接
,点击下一步
6.一直点击下一步
,会要求输入名称
,这里可以随便写(但是自己能记得就行),最后点击完成即可。
上边有可能配置后不显灵。。。请继续往下!!!
注意:这种理论上就可以阻断445端口,但是小编试了下感觉有时候不灵,所以为了双保险我们使用下面的方法再禁止一遍。
win+r
输入regedit
,点击确定HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters
“,进入NetBT
这个服务的相关注册表项。QWORD(64位)值
”,(这个需要根据自己电脑位数,如果是32位的要建立QWORD(32位)值
)然后重命名为“SMBDeviceEnabled
”,再把这个子键的值改为0。service
中设置一下,摁下win+r
输入,输入services.msc
,进入服务管理控制台。然后,找到server
服务,双击进入管理控制页面。把这个服务的启动类型更改为“禁用
”,服务状态更改为“停止
”,最后点击应用
即可。这个和2.1小节操作很相似,只需要将tcp
改为udp
,详细步骤如下:
如果运行下面指令输出:445端口未开启
则跳过下面的步骤直接跳过该小结
netstat -ano -p udp | find "445" >nul 2>nul && echo 445端口(udp)已开启 || echo 445端口(udp)未开启
如果输出445端口(udp)已开启
则按照下面步骤关闭445端口:
1.打开控制面板的“Windows 防火墙”
页面左侧找到“高级设置
”打开
2.在“高级安全 windows 防火墙
”页面 左侧 找到 “入站规则
”,右侧点击“新建规则
”。
3.选择“端口
”。 点击下一步
。
4.选择UDP
,在特定本地端口输入445
后点击下一步
5.选择阻止连接
,点击下一步
6.一直点击下一步
,会要求输入名称
,这里可以随便写(但是自己能记得就行),最后点击完成
即可。
7. 因为2.1小结已经关闭server服务所以这里不需要再关闭server服务了。
8.到这里其实应该要重启电脑的,不过想到还要关闭3389端口,倒不如配置完后一起重启。
计算机的3389端口, 一般被用来代指远程桌面,可以被修改。它并不是一个木马程序,但如果不是必须的,建议关闭该服务。
关闭方法如下:
3. 将带远程的应用和功能前面的勾全部取消勾选。
4.关闭远程桌面
单击我的电脑
,右键选择属性
,再选择远程设置
,接着将“允许远程协助连接这台计算机
”前的勾去掉。
将上述全部操作后,要进行最关键的一步重启电脑!!!
将上述全部操作后,要进行最关键的一步重启电脑!!!
将上述全部操作后,要进行最关键的一步重启电脑!!!
注意:上述配置只有重启才能生效。
打开cmd
,运行下面四条指令
netstat -ano -p tcp | find "445" >nul 2>nul && echo 445端口(tcp)已开启 || echo 445端口未开启
netstat -ano -p udp | find "445" >nul 2>nul && echo 445端口已开启 || echo 445端口(udp)未开启
netstat -ano -p tcp | find "3389" >nul 2>nul && echo 3389端口(tcp)已开启 || echo 3389端口(tcp)未开启
netstat -ano -p udp | find "3389" >nul 2>nul && echo 3389端口已开启 || echo 3389端口(udp)未开启
如果不出意外的话,都会输出“...端口未开启
”,也就代表关闭成功。如果有意外的话多重启几遍,还不行的话从新检查下自己整个配置过程是否有误或遗漏,最后实在不行欢迎评论区留言,小编再琢磨琢磨。。。。
这里不赘述,感兴趣的读者可以参考这位大佬的文章https://blog.csdn.net/21aspnet/article/details/7386252