更新时间:2023-06-25 17:18
NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API)。较古老的操作系统,使用IEEE 802.2与IPX/SPX协议,可以使用NetBIOS Frames协议或NetBIOS over IPX/SPX协议来运作。现代操作系统,多数都使用TCP/IP协议,则可透过NetBIOS over TCP/IP协议来相互通信。
IBM在局域网中,为他们的大型主机开发了IBM系统网络架构(SNA)。但这套系统过于复杂,不适用于个人计算机,IBM雇用了Sytek Inc,为他们开发新的IBM PC Network,以适用于个人计算机组成的局域网。
1983年,Sytek Inc开发了一套软件API,使用在IBM PC Network局域网中。
1984年,IBM授权开放这套标准的API给外界使用,用来与IBM计算机进行网上链接。
1985年,IBM开发令牌环(token ring)网络,为了让旧有使用NetBIOS API的软件能在新的网络架构上运作,创建了NetBIOS模拟器,这个模拟器被称为NetBIOS延伸用户界面(NetBIOS Extended User Interface, NetBEUI),扩展了原有的 NetBIOS API。同时,也制定了NetBIOS Frames协议,让NetBEUI能够在token ring网络上提供服务,特别是在IEEE 802.2LLC层。
1986年,Novell发表NetWare2.0,将NetBIOS实现在其中。Novell让NetBIOS运作在IPX/SPX协议上,提出了NetBIOS over IPX/SPX协议。
1987年,出现将NetBIOS封装为TCP与UDP数据包的技术,IETF随后发布RFC 1001与RFC 1002,将它制定为标准,这套标准被称为NetBIOS over TCP/IP,简称为NBT。在PS/2计算机上市之后,IBM发布了PC LAN支持程序,在其中包括了NetBIOS驱动程序。
NetBIOS是网络的基本输入输出系统。
NetBIOS 定义了一种软件接口以及在应用程序和连接介质之间提供通信接口的标准方法。NetBIOS 是一种会话层协议,应用于各种 LAN (Ethernet、Token Ring 等)和 WAN 环境,诸如 TCP/IP、PPP 和 X.25 网络。
NetBIOS 使得应用程序无需了解包括差错恢复(会话模式)在内的网络细节。NetBIOS 请求以网络控制块(NCB:Network Control Block)的形式提供,NCB 中包含了信息存放位置和目标名称等信息。
NetBIOS 提供开放系统互联(OSI)模型中的会话层和传输层服务,但不支持标准帧或数据格式的传输。NetBIOS 扩展用户接口(NetBEUI)支持标准帧格式,它为 NetBIOS 提供网络层和传输层服务支持。
NetBIOS 支持两种通信模式:会话(session)或数据报(datagram)。会话模式是指两台计算机为“对话”建立一个连接,允许处理大量信息,并支持差错监测和恢复功能。数据报模式面向“无连接”(信息独立发送)操作,发送的信息较小,由应用程序提供差错监测和恢复功能。此外数据报模式也支持将信息广播到局域网中的每台计算机上。
NetBIOS 名称为 16 字节长(必要情况下使用填充位填满),对使用的字节值几乎没有限制。对于不执行路由的小型网络,将 NetBIOS 名称映射到 IP 地址上有三种方法:
NetBIOS提供了三种软件服务:
当安装TCP/IP协议时,NetBIOS 也被Windows作为默认设置载入,我们的计算机也具有了NetBIOS本身的开放性。某些别有用心的人就利用这个功能来攻击服务器,使管理员不能放心使用文件和打印机共享。
1.利用软件查找共享资源
利用NetBrute Scanner 软件扫描一段IP地址(如10.0.13.1~10.0.13.254)内的共享资源,就会扫描出默认共享
2. 用PQwak破解共享密码
双击扫描到的共享文件夹,如果没有密码,便可直接打开。当然也可以在IE的地址栏直接输入扫描到的带上共享文件夹的IP地址,如“\10.0.13.191”(或带C$,D$等查看默认共享)。如果设有共享密码,会要求输入共享用户名和密码,这时可利用破解网络邻居密码的工具软件,如PQwak,破解后即可进入相应文件夹。
1. 解开文件和打印机共享绑定
鼠标右击桌面上[网络邻居]→[属性] →[本地连接] →[属性],去掉“Microsoft网络的文件和打印机共享”前面的勾,解开文件和打印机共享绑定。这样就会禁止所有从139和445端口来的请求,别人也就看不到本机的共享了。
2. 利用TCP/IP筛选
鼠标右击桌面上[网络邻居] →[属性]→[本地连接] →[属性],打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项], 在列表中单击选中“TCP/IP筛选”选项。单击[属性]按钮,选择“只允许”,再单击[添加]按钮,填入除了139和445之外要用到的端口。这样别人使用扫描器对139和445两个端口进行扫描时,将不会有任何回应。
3. 使用IPSec安全策略
选择[我的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略,在本地机器],在这里定义一条阻止任何IP地址从TCP139和TCP445端口访问IP地址的IPSec安全策略规则,这样别人使用扫描器扫描时,本机的139和445两个端口也不会给予任何回应。
4. 停止Server服务
选择[我的电脑]→[控制面板]→[管理工具]→[服务],进入服务管理器,关闭Server服务。这样虽然不会关闭端口,但可以中止本机对其他机器的服务,当然也就中止了对其他机器的共享。但是关闭了该服务会导致很多相关的服务无法启动,如机器中如果有IIS服务,则不能采用这种方法。
5. 使用防火墙防范攻击
在防火墙中也可以设置阻止其他机器使用本机共享。如在“天网个人防火墙”中,选择一条空规则,设置数据包方向为“接收”,对方IP地址选“任何地址”,协议设定为“TCP”,本地端口设置为“139到139”,对方端口设置为“0到0”,设置标志位为“SYN”,动作设置为“拦截”,最后单击[确定]按钮,并在“自定义IP规则”列表中勾选此规则即可启动拦截139端口攻击了。
在windows9x下如果你是个拨号用户。完全不需要登陆到nt局域网络环境的话。只需要在控制面板→网络→删除microsoft网络用户,使用microsoft友好登陆就可以了。但是如果你需要登陆到nt网络的话。那这一项就不能去处。因为nt网里需要使用netbios。
在windowsNT下你可以取消netbios与TCP/IP协议的绑定。控制面板→网络→Netbios接口→WINS客户(tcp/ip)→禁用。确定。重启。这样nt的计算机名和工作组名也隐藏了,不过会造成基于netbios的一些命令无法使用。如net等。
在windowsNT下你可以选中网络邻居→右键→本地连接→INTERNET协议(TCP/IP)→属性→高级→选项→TCP/IP筛选→在“只允许”中填入除了137,138,139之外的端口。如果你在局域网中,会影响局域网的使用
还有一个办法就是TCP/IP协议里禁用NETBIOS。