首先,来查看下系统当前都开放了什么端口,怎样查看呢?调出cmd命令行程序,输入命令”netstat -na“,可以看到。
接着,可以发现当前系统开放了135、445以及5357端口,而且从状态看都处于监听状态”Listening“
然后,确认自己的系统已经开放了445端口之后,我们开始着手关闭这个高危端口。首先进入系统的”注册表编辑器“,步骤是:依次点击”开始“,”运行“,输入regedit进入”注册表编辑器“。
接着,依次点击注册表选项”HKEY_LOCBT这个服务的相关注册表项。
然后,在Parameters这个子项的右侧,点击鼠标右键,“新建”,“QWORD(64位)值”,然后重命名为“SMBDeviceEnabled”,再把这个子键的值改为0。
接着,如果你的系统为windows xp系统的话,那么重新启动就可以关闭系统的445端口了。但是如果是windows 7系统的话,这样还不行!
你还要做的就是把 *** 作系统的server服务关闭,依次点击“开始”,“运行”,输入servicesmsc,进入服务管理控制台。
然后,找到server服务,双击进入管理控制页面。把这个服务的启动类型更改为“禁用”,服务状态更改为“停止”,最后点击应用即可。
最后,重新启动 *** 作系统看看吧,是不是445端口已经关闭了!
在windows2000中出现了一个以前没有用过的端口455。
概念:
SMB(Server Message Block)
Windows协议族,用于文件和打印共享服务。
NBT(NetBIOS over TCP/IP)
使用137, 138 (UDP) and 139 (TCP)来实现基于TCP/IP的NETBIOS网际互联。
内容:
在Windows NT中SMB基于NBT实现。
而在Windows2000中,SMB除了基于NBT的实现,还有直接通过445端口实现。
当Win2000(允许NBT)作为client来连接SMB服务器时,它会同时尝试连接139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,以455端口通讯来继续当445端口无响应时,才使用139端口。
当Win2000(禁止NBT)作为client来连接SMB服务器时,那么它只会尝试连接445端口,如果无响应,那么连接失败。(注意可能对方是NT40服务器。)
如果win2000服务器允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放。
如果 NBT 被禁止, 那么只有445端口开放
好了,如果我们在win2000上运行一些工具利用null session列举出对方机器的一些有用资料时,应该把我们机器上的NBT设为允许。
注册表关闭
运行msconfig注册表管理器
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
TransportBindName REG_SZ \Device\
删除缺省的"\Device\",留一个空值。重启后"netstat -na"将看不到445/TCP口。但
同时客户端SMB机制支持一并被取消。
A: Jean-Baptiste Marchand <Jean-BaptisteMarchand@hscfr> 2002-02-09
至少有两种办法可以关闭445/TCP:
禁用NetBT驱动
第一种方法彻底禁用了系统中的SMB机制,客户端、服务端支持均被取消。为了停止
NetBT驱动,必须先停止工作站、服务器服务,如果不这样做而试图直接停止NetBT驱
动,系统将出故障。
> net stop rdr
> net stop srv
> net stop netbt
rdr、srv不是服务名称,也不是显示名称,而是net命令自己支持的,在此分别等价
于lanmanworkstation、lanmanserver。445/TCP将被热关闭。
"NetBios over Tcpip"驱动可以手工停止,但不能手工启动,只能重启才可恢复。为
了阻止NetBT驱动在重启OS时自动加载,必须将启动类型由缺省的1改成4:
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT]
"Start"=dword:00000004
> sc config netbt start= disabled
修改注册表
更多时候第一种方法不是我们所期望的,客户端SMB机制的支持还是需要的。通过修
改注册表可以实现禁用由TCP层直接承载的SMB协议,但继续启用NetBT。
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"SmbDeviceEnabled"=dword:00000000
重启OS使之生效,445/TCP不再侦听中。
A:
devmgmtmsc->查看->显示隐藏设备->非即插即用驱动程序->NetBios over Tcpip->右键停用->重启OS使之生效
这将彻底禁用系统中的SMB机制,客户端、服务端支持均被取消。
D: tk@nsfocus 2004-07-22
逆向分析netbtsys之后,发现可以通过注册表改变445/TCP、445/UDP:
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb]
"SessionPort"=dword:00000000
"DatagramPort"=dword:00000000
本来试图通过这种办法关闭445/TCP,重启之后,系统自动处理成1/TCP、1/UDP。如
将SessionPort指定成135/TCP,在争夺中原EPM功能将丧失,SMB功能争夺成功。
D: sparrow@smth
装了IPv6之后,tk给出的注册表项就不起作用了。在此情况下为使之继续起作用,需
额外修改注册表:
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"UseNewSmb"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb]
"SessionPort"=dword:000001bd
"DatagramPort"=dword:000001bd
装了IPv6之后,增加了一个驱动smbsys,处理IPv6下的SMB协议。UseNewSmb非0时将
使用smbsys,该驱动中固化了445/TCP。
以上就是关于win7 为什么我关闭445后,在cmd里输netstat -ano 显示445还在这是为什么全部的内容,包括:win7 为什么我关闭445后,在cmd里输netstat -ano 显示445还在这是为什么、如何关闭445端口,禁用smb协议、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)