NetBIOS是 Network Basic Input/Output System
这似乎有点奇怪。NetBIOS目前主要由Microsoft Windows操作系统使用,以便为其他网络主机提供一些服务。在本教程中,我们将学习NetBIOS及其服务。
什么是NetBIOS?
NetBIOS协议最早是由IBM创建的,它是在microsoftwindows操作系统上实现的。微软在1985年为MS-DOS实现了它。由于Windows的普及,NetBIOS在Windows操作系统中得到了普及。即使它被创建为在令牌环网络上运行,它也被扩展为在802.2或以太网网络上运行。NetBIOS通过RFC 1001和RFC 1002标准化,以便在TCP/UDP协议上运行,而TCP/UDP协议只是一种仿真。
NetBIOS可以通过TCP/IP端口号139工作。客户机和服务器都使用TCP端口139来互相呼叫。双方都可以通过互相呼叫来发送和接收命令。NetBIOS端口的另一种选择是UDP 138。与TCP一样,所有通信都通过UDP 138完成。
NetBIOS服务
NetBIOS提供三种不同的服务,它们是:
- `名称服务`用于同一局域网中的名称注册和解析。此服务简称为“NetBIOS NS”。
- `数据报分发服务用于NetBIOS客户端之间的无连接通信和数据传输。简称为“NetBIOS-DGM”。
- `会话服务`用于面向连接的会话和NetBIOS客户端之间的数据传输。它简称为“NetBIOS SSN”。
相关文章: nbtstat命令教程,附有在Windows上列出NetBIOS统计信息的示例
姓名服务
名称服务为NetBIOS主机和组提供以下功能。
- `Add Name`函数将为NetBIOS主机注册选定的NetBIOS名称。如果已经注册,注册将失败。
- `Add Group Name`将为NetBIOS组注册选定的NetBIOS组名。
- `Delete Name`将删除已注册的NetBIOS名称,无论是组名还是主机名。
- `Find Name`将在网络上查找给定的NetBIOS名称。
数据报分发服务
数据报分发服务为NetBIOS主机和组提供以下功能。
- `Send Datagram`将向NetBIOS主机发送指定NetBIOS名称的数据报。
- `Send Broadcast Datagram`用于为指定的NetBIOS名称或组向多个NetBIOS主机发送数据报。
- `Receive Datagram`将等待并接受来自其他NetBIOS主机的数据报。
- `Receive Broadcast Datagram`将等待来自其他NetBIOS主机的广播数据报。
会话服务
会话服务主要用于管理会话和已建立会话上的数据传输。
- `Call`将启动指定NetBIOS名称的会话。
- `Listen`将等待尝试向当前NetBIOS主机发送会话请求。
- `挂断`用于关闭已建立的NetBIOS会话。
- `Send`将通过指定的会话发送数据包。
- `Send No Ack`与Send相同,但不需要对数据包的到达进行确认。
- `Receive`将需要从远程NetBIOS主机接收来自会话的传入数据包。
nbtstat命令
nbtstat
是一个命令行工具,用于运行一些NetBIOS函数。我们可以使用nbtstat命令来管理像register、list、remove这样的本地NetBIOS名称。在下面的示例中,我们将列出注册到本地系统的本地NetBIOS名称。
> nbtstat -n
