当前位置:文档之家› NetBIOS与SMB协议概览

NetBIOS与SMB协议概览

NetBIOS与SMB协议概览

Windows局域网络有两种管理方式对等网工作组模式和主从域管理模式。对等网(Peer to Peer),所谓对等是指,在LAN中所有的PC机都是平等关系,没有隶属、管理与被管理的关系,它们的地位是平等的。我们的计算机机房就是一个简单的对等网,网络中的所有PC都平等关系。与对等网相对的是基于目录服务进行集中认证、授权管理共享资源的网络——Windows域管理模式。Windows域管理模式,在Window 域中由活动目录对域中的软、硬件资源进行管理。

在对等网中,网上邻居是共享资源的方式。通过网上领居,本地计算机可以访问网络中其它计算机共享的资源,本地计算机也可以把自己的资源共享给其它计算机。网上邻居是使用NetBIOS协议传输数据。NetBIOS是由IBM开发的,全称是:Network Basic Input and Output System。在Windows NT下的NetBIOS 是基于TCP/IP环境的,与早期DOS下的NetBIOS有所不同。RFC1001和1002是TCP/IP环境下的NetBIOS 协议标准。当安装了TCP/IP协议后,NetBIOS协议已经自动安装到计算机中。NetBIOS 使用下列端口:UDP/137(NetBIOS 名称服务)、UDP/138(NetBIOS 数据报服务)、TCP/139(NetBIOS 会话服务);SMB 使用下列端口:TCP/139、TCP/445。

SMB是Server Message Block的缩写。

图一Windows XP下的NetBIOS设置

在上图中,可以看到默认的设置是从DHCP服务器使用NetBIOS设置。如果使用静态的IP地址或DHCP 服务器不提供NetBIOS设置,则启用TCP/IP上的NetBIOS。本次的协议分析环境是使用静态的IP地址。顺便说一下,如果计算机所在的网络环境内没有DHCP服务器,而又没有设置静态的IP地址,计算机会自动获取以169.254开头的IP地址。

NetBIOS协议的两个标准文档RFC1001和1002一共有二百多页。在这里只做粗略地分析。使用的抓包工具是OmniPeek。

分析场景:

图二

以下的NetBIOS和SMB协议是在此场景是进行。双击桌面上的“网上邻居”,打开如下图的界面:

图三

此时抓取的部分数据包(共有67个数据包):

图四

分析以上抓取的数据包,对NetBIOS Name Service(名字服务)、NetBIOS Session、SMB等进行分析。查看Name Service数据包的内容与格式:

图五Name Service

由上图可以看出:PCA(192.168.1.8)发出一个广播包,查询工作组名WORKGROUP,Netbios名字服务使用UDP协议,端口号是137。

双击打开workgroup工作时抓取的数据包,共13个:

图六

由上图可以看出,只有一个Netbios 会话管理数据包,其它的全部是SMB协议数据包。

图七SMB数据包

上图的中SMB数据包被封装在Netbios Session Service中,使用TCP协议传输,端口号为139。

在workgroup中双击计算机PCB(192.168.1.6),访问它时抓取如下的69个数据包,SMB数据包占据绝大多数:

图八

由上图抓取的数据来看,网上邻居访问计算机的命令操作以SMB协议传输。打开计算机上共享文件夹时抓取的数据包:

图九

查看第一个数据包的详细内容:

图十

由上面数据包可以看出,这个数据包是PCA向PCB发出查看共享文件的请求。

选择中某个文件时抓取的数据包:

图十一

在选择的文件上右键单击,弹出快捷菜单时抓取的数据包,文件名称:文档.txt:

图十二

查看一个数据包的部分内容:

图十三

把计算机PCB上共享的文件复制到计算机PCA时,抓取的数据包:

图十四

查看一个数据包的部分内容:

图十五

在我们看似非常简单的操作,对于计算机来说,就要做很多的工作,因为计算机所有的工作都是执行编程人员事先编好的指令。计算机之间没情感,不能看脸色行事,只是按部就班执行命令。

相关主题