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服务,则不能采用这种方法。
在
防火墙中也可以设置阻止其他机器使用本机共享。如在“天网
个人防火墙”中,选择一条空规则,设置数据包方向为“接收”,对方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。