网络基础:NetBIOS

服务器

浏览数:99

2019-3-25

网络基础小补。

利用 NetBIOS 名称与其他计算机通信

网络中的计算机之间必须知道IP地址后才能相互通信。但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆。当计算机使用 NetBIOS 名称与其他计算机通信时,必须先通过 NetBIOS名称找到IP地址,然后再通过IP地址通信。由NetBIOS名称找出IP地址的操作被称为NetBIOS名称解析(NetBIOS name resolution)。

NetBIOS名称是什么?
NetBIOS名称是一个长度为16个字符的字符串。MS网络中用到NetBIOS名称的地方有:计算机名,域名,工作组名。

名称示例

NetBIOS 计算机名:nick-os
DNS主机名:nick-os.mydomain.net

计算机全名:加不加域不一样
不加域时:nick-os
加入域后:nick-os.mydomain.net

全域名 (Fully Qualified Domain Name, FQDN) 或 DNS名称。
nick-os.mydomain.net
(没有加入域时,就没有什么 “全域名”和 “DNS名称”)

如何查看当前机器注册的NetBIOS名称:

nbtstat -n

通过NetBIOS名称来解析IP地址

主要有下面三种方式:

1. 查看NetBIOS名称缓存区

我们也可以通过命令来查看当前的NetBIOS名称缓存区:

nbtstat -c 

2. 通过广播的方式搜索对方的IP地址(应尽量避免使用这种方式)

3. 直接向WINS服务器查询

NetBIOS节点类型

上面的三种方法都可以解析到IP地址,但究竟会用哪一种呢?
这取决于计算机采用的NetBIOS节点类型(node-type):
B-node: 广播方式
P-node: 直接向WINS服务器查询
M-node: B与P的混合方式(mixed),先广播,若失败,再向WINS服务器查询
H-node: 也是B与P的混合方式(hybird),但是先向WINS服务器查询,若失败,之后才广播

查看 NetBIOS节点类型:

ipconfig /all

采用H节点的WINS客户端,其NetBIOS名称解析的完整顺序为:
1. 检查要查询的计算机名称是不是自己的计算机名称。
2. 检查NetBIOS名称缓存区。
3. 向WINS服务器查询。
4. 发出广播消息。
5. 检查LMHOSTS文件。
6. 检查HOSTS文件或向DNS服务器查询。
LMHOSTS文件和HOSTS文件存放于 “%systemroot%\system32\drivers\etc”目录下。

作者:sparkdev

出处:http://www.cnblogs.com/sparkdev/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。