在Windows中使用TCP端口139和445

MicrosoftWindows 2000中引入了TCP端口445,并且在Windows 10Windows Server 2019中仍在使用。我将解释该端口的作用以及与Windows安全性的关系。同时,我还将说明如何禁用旧的TCP端口139

TCP上的SMBNBT上的SMB

SMB(服务器消息块)协议的一项中心任务是文件共享。在Windows NT中,它运行在NBTTCP / IP上的NetBIOS)之上,后者使用了著名的端口UDP 137138,以及TCP139。在Windows 2000中,Microsoft添加了直接在TCP / IP上运行SMB的选项,而无需使用额外的NBT层。这就是TCP端口445的用途。

启用和禁用NBT以控制端口137138139

Windows 2000以后的Windows版本中,可以选择禁用TCP / IP上的NetBIOS。首先,找到适当的网络适配器图标,然后右键单击并选择属性。在Windows版本之间,如何查找网络适配器图标有所不同。接下来,单击“ Internet协议(TCP / IP属性。各个版本之间的确切名称也略有不同。现在,单击高级,然后选择“ WINS”选项卡。您可以在那里通过TCP / IP启用或禁用NetBIOS。所做的更改将立即生效,而无需重新启动系统。

禁用NBTTCP / IP上的NetBIOS)以关闭UDP端口137138,以及TCP端口139。启用NBT以再次打开这些端口。

Windows使用端口445时以及使用端口139

从现在开始,我将客户机称为映射驱动器和其他共享资源的计算机,将服务器称为具有共享资源的计算机,例如,客户机可以是Windows Server。安装(如果从该计算机连接到另一台计算机)。

如果客户端是Windows的较旧版本(例如Windows 2000)并启用了NBT,则它将始终尝试同时在端口139445上连接到服务器。如果端口445有响应,则它将TCP RST(重置)发送到端口139,并仅继续其SMB会话到端口445。如果没有来自端口445的响应,则只要它从那里获得响应,它就会继续其SMB会话到端口139。如果两个端口均未响应,则会话将失败。

如果客户端禁用了NBT,它将始终尝试仅通过端口445连接到服务器。如果服务器在端口445上应答,则将建立会话并在该端口上继续。如果未回答,则会话将失败。服务器运行Windows NT 4.0时就是这种情况之一。

例如Windows 10Windows Server 2019Windows的较新版本是有趣的情况。作为客户端,他们还将始终仅首先尝试仅在端口445上连接服务器,但是如果失败,则即使启用了NBT,也不会尝试使用端口139。会话将完全失败。

如果服务器启用了NBT,则它将侦听UDP端口137138,以及TCP端口139445。如果服务器禁用了NBT,则仅侦听TCP端口445。所有四个端口在Windows的所有版本中均默认打开,包括Windows 10Windows Server 2019

来自客户的空会话

Windows NT 4.0中,空会话始终使用端口139。像Winfo这样的工具可以为您提供有关Windows NT 4.0的大量信息,但是在Windows 2000和更高版本上,它如何工作?答案非常简单-从客户角度来看,它可以根据以上描述进行工作。如果从Windows 2000运行Winfo并启用了NBT,则根据目标系统,端口选择将是自动的。如果您希望Winfo除了端口445以外都不要使用任何其他功能,请禁用NBT。如果您从Windows 10Windows Server 2019等较新版本运行它,则无论NBT状态如何,它都不会使用端口445以外的任何端口。但是,默认情况下,较新版本的Windows可以很好地保护其免受空会话攻击。

 

猜你喜欢

转载自blog.csdn.net/allway2/article/details/109146944
今日推荐