您好,欢迎访问三七文档
NetBIOS协议目录[隐藏]NetBIOS与NetBEUINetBIOS简析NetBIOS协议的安全隐患NetBIOS协议的安全隐患的解除NetBIOS的名字解析NetBIOS协议的节点类型NetBIOS协议英文原义:NetBIOSServicesProtocols中文释义:(RFC-1001,1002)网络基本输入/输出系统协议该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。应用:在Windows操作系统中,默认情况下在安装TCP/IP协议后会自动安装NetBIOS。比如在Windows2000/XP中,当选择“自动获得IP”后会启用DHCP服务器,从该服务器使用NetBIOS设置;Windows中NetBIOS的安装如果使用静态IP地址或DHCP服务器不提供NetBIOS设置,则启用TCP/IP上的NetBIOS。具体的设置方法如下:首先打开“控制面板”,双击“网络连接”图标,打开本地连接属性。接着,在属性窗口的“常规”选项卡中选择“Internet协议(TCP/IP)”,单击“属性”按钮。然后在打开的窗口中,单击“高级”按钮;在“高级TCP/IP设置”窗口中选择“WINS”选项卡,在“NetBIOS设置”区域中就可以相应的NetBIOS设置。[编辑本段]NetBIOS与NetBEUINetBIOS是应用程序访问符合NetBIOS规范的转输协议的接口,NetBEUI是该接口的一个扩展版本(1985年由IBM开发成功)。两者的区别如下:NetBIOS最多只能与其他节点建立254个通讯话路。NetBEUI不再有此限制,它允许WindowsNT机器上的每个进程都能够与多达254个节点进行通讯。NetBIOS名称最多可有15个字符,通话层应用程序通过它来与远程计算机进行通讯。NetBEUI则是通过SMB协议(ServerMessageBlock——服务器消息块,最初应用于3COM公司的LANManager)来实现在逻辑通道中的消息传送的。NetBEUI总是包含在NetBIOS中,NetBIOS可以运行在几种不同的传输协议上,包括NetBEUI、TCP/IP和IPX/SPX,后三者位于网络层驱动接口与传输层驱动接口之间。但运行在一种传输协议上的NetBIOS服务不能和运行另一种传输协议上的NetBIOS服务通信。NetBIOS可以使用的四种类型的SMB(赋予Windows计算机本地文件重定向功能以便进入远端文件系统)命令:话路控制命令,用于建议或终止与远程计算机上某个资源的逻辑连接。文件命令:用于远程文件访问。打印机命令:用于传送数据给一个远程打印队列,同时也检查该打印队列中各项任务的执行状态。消息命令:用于实现计算机之间的消息传送。[编辑本段]NetBIOS简析Netbios(网络基本输入/输出系统)最初由IBM,Sytek作为API开发,使用户软件能使用局域网的资源。自从诞生,Netbios成为许多其他网络应用程序的基础。严格意义上,Netbios是接入网络服务的接口标准。Netbios原来是作为THE网络控制器为IBM局域网设计的,是通过特定硬件用来和网络操作系统连接的软件层。Netbios经扩展,允许程序使用Netbios接口来操作IBM令牌环结构。Netbios已被公认为工业标准,通常参照Netbios-compatibleLANs。它提供给网络程序一套方法,相互通讯及传输数据。基本上,Netbios允许程序和网络会话。它的目的是把程序和任何类型的硬件属性分开。它也使软件开发员可以免除以下负担:开发网络错误修复,低层信息寻址和路由。使用Netbios接口,可以为软件开发员做许多工作。Netbios使程序和局域网操作能力之间的接口标准化。有它们可以将程序细化到为OSI模型的哪一层所写,使程序能移植到其他网络上。在Netbios局域网环境下,计算机通过名字被系统知道。网络中每台计算机都有通过不同方法编的永久性名称。这些名称将在下面做进一步讨论。通过使用Netbios的数据报或广播方式,在Netbios局域网上的pc机建立会话彼此联络。会话允许更多的信息被传送,探测错误,和纠正。通信是在一对一的基础上的。数据报或广播方式允许一台计算机和多台其他的计算机同时通信,但信息大小受限。使用数据报或广播方式没有探测错误和纠正。然而,数据报通信可以不必建立一个会话。在这种环境下所有的通信以一种称为“网络控制块“的格式提交给NetBIOS。内存中这些块的分配依赖于用户程序。这些“网络控制块“分配到域中,分别为输入/输出保留。在当今的环境中,NetBIOS是使用很普遍的协议。以太网,令牌环,IBMPC网都支持NetBIOS。在它原始版本中,它仅作为程序和网络适配器的接口。从那以后,传输类功能加入NetBIOS,使它功能日益增多。在NetBIOS里,面向连接(tcp)和无连接(udp)通信均支持。它支持广播和复播,支持三个分开的服务:命名,会话,数据报。[1.0.2]NetBIOS名称NetBIOS名称用来在网络上鉴别资源。程序用这些名称开始和结束会话。你能用多个程序配置一台单独的机器,每个程序都有独特的NetBIOS名称。每台支持应用的pc机也有用户定义或通过内部方法获得的NetBIOS站名。NetBIOS能包含至多16个阿尔法数字字母。在整个资源路由网络里,字母的组合必须独特。在一台使用NetBIOS的pc机在网络上能完全工作起来之前,PC必须先登记NetBIOS名称。NetBIOS协议当客户端活跃时,客户端广播它的名称。当它成功广播自己,并没有其他人和它重名,客户端就登记成功。登记过程如下:1.在登陆上,客户端在所有地方广播它自己和它的NetBIOS信息6到10次,确保其他网络成员收到信息。2.如果有客户端A已用此名,客户端A发布它自己的广播,包括它正在使用的名字。请求登陆的客户端停止所有登记的企图。3.如无其他客户端反对登记,请求登陆的客户端完成登记过程。在NetBIOS环境中有两类名称:独特的和集合的。独特的名称必须在网络中独特。集合的名称不必在网络中独特,所有同名过程属于同一集合。每个NetBIOS节点包含一张该节点当前使用名称的表。NetBIOS命名允许16个字母用在NetBIOS名称中。而微软只允许15个字母用在NetBIOS名称中,第十六个为NetBIOS后缀。NetBIOS后缀用在MicrosoftNetworking软件中,区别安装的功能,登记的设备和服务。[注意:smb和nbt(在tcp/ip上的NetBIOS)紧密的工作在一起,且都使用137,138,139端口。137端口是NetBIOS名称UDP,138端口是NetBIOS数据报UDP,139端口是NetBIOS会话tcp,进一步的NetBIOS信息,看rhino9网站上所列文章]以下是MicrosoftWindowsNT目前使用的NetBIOS后缀表。后缀是16进制。名称数字类型用途============00UWorkstationService01UMessengerService02UMasterBrowser03UMessengerService06URASServerService1FUNetDDEService20UFileServerService21URASClientService22UExchangeInterchange23UExchangeStore24UExchangeDirectory30UModemSharingServerService31UModemSharingClientService43USMSClientRemoteControl44USMSAdminRemoteControlTool45USMSClientRemoteChat46USMSClientRemoteTransfer4CUDECPathworksTCPIPService52UDECPathworksTCPIPService87UExchangeMTA6AUExchangeIMCBEUNetworkMonitorAgentBFUNetworkMonitorApps03UMessengerService00GDomainName1BUDomainMasterBrowser1CGDomainControllers1DUMasterBrowser1EGBrowserServiceElections1CGInternetInformationServer00UInternetInformationServer[2B]ULotusNotesServerIRISMULTICAST[2F]GLotusNotesIRISNAMESERVER[33]GLotusNotesForte_$ND800ZA[20]UDCAIrmalanGatewayService独特的(u):该名仅有一个IP地址分给它。在网络设备中,一个名称的多次出现看来会被登记,但后缀是唯一的,使整个名称唯一。集合的(g):普通集合,一个名称可有多个IP地址。多址的(M):名称是唯一的,但由于在同一计算机上有多个网络接口,这种配置应该被允许登记。地址的最大数目是25。Internet集合(I):这是组名的特殊配置,用在操作WINDOSNT的域名。域名(D):在NT4.0中新引进的。为了快速浏览一台服务器上登记的NETBIOS名称和服务,用以下命令:nbstat-a[ipaddress]nbstat-a[host][1.0.3]NetBIOS会话NetBIOS会话服务提供给用户程序一种面向连接,可靠的,完全双重的信息服务。NetBIOS要求一个是客户端程序,一个是服务器端程序。NetBIOS会话的建立需要双方预定的合作。一个程序必须先发出listen命令,其他程序才可以发出call令。listen命令参考在它的NetBIOS名称表中的名称(或windows服务器中的),也参考用于作为会话另一端的远端程序的名称。如果聆听者不在聆听,call命令将不会成功。如果call成功,各程序将接到会话id,以作为会话建立的确认。send和receive命令操作传输数据。在会话最后,各程序将执行挂起命令。没有为会话服务的实际流控制,因为假定局域网足够快,能够传输需要的数据。[1.0.4]NetBIOS数据报数据报可以发送到特定的地点,或组中所有成员,或广播到整个局域网。与其它数据服务相比,NetBIOS数据报是无连接,非可靠的。Send_Datagram命令需要调用者设定目的名。如果目的名是组名,组中每个成员都收到数据。Receive_Datagram命令的调用者必须确定它接收数据的本地名。除了实际数据外,Receive_Datagram也返回发送者的名称。如果NetBIOS收到数据,但却没有Receive_Datagram命令在等待,数据将被丢弃。Send_Broadcast_Datagram命令发送信息给本地网上每个NetBIOS系统。当NetBIOS节点收到广播数据,发布Receive_Broadcast_Datagram命令的每个进程都收到数据。如果当广播数据被收到时,没有这些命令在运行,数据将被丢弃。NetBIOS使应用程序能和另一个设备建立会话,使网络转发器和处理协议处理收到、发送到另一台机器的请求。NetBIOS实际上不操作数据。NetBIOS定义规定了用来到达这些服务的协议的网络接口,而非协议本身。历史上,NetBIOS曾与叫做NetBEUI的协议(网络扩展用户接口)捆绑。接口和协议的结合有时引起混淆,但它们是不同的。网络协议为定位、连接到网络上特定的服务提供至少一种方法。这通常由将节点和服务名转化为网络地址(名称解析)完成。在连接用TCP/IP建立前,NetBIOS服务名必
本文标题:NetBIOS协议
链接地址:https://www.777doc.com/doc-2883878 .html