织梦CMS - 轻松建站从此开始!

技术无忧网 - 技术从此无忧 -- 一站式中文IT技术网站 - www.tech51.net

当前位置: 主页>网络频道>

Windows 系统中计算机名字解析(5)

时间:2008-09-24 08:02来源: 作者: 点击:
NetBIOS 名字解析 NetBIOS 名字缓存 NetBIOS 名字缓存和 DNS 客户端缓存类似,是用于存放已经获得的 NetBIOS 查询结果,这可以节约多次访问同一个 NetBIOS 名字的

 NetBIOS 名字解析

NetBIOS 名字缓存

NetBIOS 名字缓存和 DNS 客户端缓存类似,是用于存放已经获得的 NetBIOS 查询结果,这可以节约多次访问同一个 NetBIOS 名字的名字解析次数。您可以用 nbtstat –c 命令来获得 NetBIOS 名字缓存里的纪录 :

C:\Documents and Settings\Administrator>nbtstat -c

Local Area Connection:

Node IpAddress: [192.168.1.89] Scope Id: []

NetBIOS Remote Cache Name Table

Name Type Host Address Life [sec]

serv <20> UNIQUE 192.168.1.100 600

VBDBASE <20> UNIQUE 192.168.1.10 582

NetBIOS 名字缓存里的纪录也有有效期,缺省是 10 分钟。您可以用命令 nbtstat -R 来清除名字缓存。

在 NetBIOS 名字解析中有和 hosts 文件类似的文件 lmhosts 文件, lmhosts 文件也是用来存放静态的 NetBIOS 名字和 IP 地址映射的,它的位置也是在 %SystemRoot%system32driversetc 目录下。缺省情况下, lmhosts 文件并不存在,系统有一个 lmhosts 样本文件 lmhosts.sam ,您可以仿照 lmhosts.sam 文件来编写您的 lmhosts 。下面是一个样本 lmhosts 文件里的内容:

192.168.1.70 sharps

192.168.1.123 qd-ftpserver #PRE

192.168.1.117 bj-ftpserver #PRE

修改了 lmhosts 文件之后,你可以运行命令 nbtstat -R 来重新清除 NetBIOS 名字缓存以及重新装载 lmhosts 文件。您会注意到上面的 lmhosts 文件中有的记录后面有 #PRE ,有的没有。有 #PRE 表示这一条纪录在 lmhosts 文件被装载之后会被加到 NetBIOS 名字缓存中,而且不会过期。下面就是在重新装载上面这个 lmhosts 文件之后, NetBIOS 名字缓存里的内容:

Local Area Connection:

Node IpAddress: [192.168.1.89] Scope Id: []

NetBIOS Remote Cache Name Table

Name Type Host Address Life [sec]

bj-ftpserver  <03> UNIQUE 192.168.1.117 -1

bj-ftpserver  <00> UNIQUE 192.168.1.117 -1

bj-ftpserver  <20> UNIQUE 192.168.1.117 -1

qd-ftpserver  <03> UNIQUE 192.168.1.123 -1

qd-ftpserver  <00> UNIQUE 192.168.1.123 -1

qd-ftpserver  <20> UNIQUE 192.168.1.123 -1


使用 lmhosts 文件可能会遇到与 hosts 文件类似的问题,如果 lmhosts 文件有错误的记录会导致不能正确访问目的计算机。

动态查询 NetBIOS 名字

如果在 NetBIOS 名字缓存中不能找到想查询的 NetBIOS 名字, Windows 会根据计算机的节点类型来决定接下来如何查询。我们有必要来介绍一下节点类型。你在运行了命令 ipconfig /all 之后会看到节点类型( Node Type ):

Windows IP Configuration

Host Name . . . . . . . . . . . . : www1

Primary Dns Suffix . . . . . . . : qd.tech51.net 

Node Type . . . . . . . . . . . . : Mixed

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

DNS Suffix Search List. . . . . . : qd.tech51.net 

tech51.net 

这个节点类型决定了 Windows 如何从网络上去解析一个 NetBIOS 名字。共有如下四种节点类型:

B 节点( Broadcast ):只在本地网络发广播包来查询 NetBIOS 名字

P 节点( Point to Point ):只向 WINS 服务器查询 NetBIOS 名字

M 节点( Mixed ):首先尝试广播查询,如果查询失败,再向 WINS 服务器查询

H 节点( Hybrid ):首先向 WINS 服务器查询 NetBIOS 名字,如果查询失败,再广播查询

这里需要介绍一下 WINS 服务器,它的全称是 Windows Internet Name Service 。 WINS 服务器提供 NetBIOS 名字查询服务。如果您的计算机配置了 WINS 服务器,您的计算机就会在 WINS 服务器上注册它的 NetBIOS 名字和 IP 地址。其他计算机查询 WINS 服务器就可以知道您的计算机的 IP 地址了。您运行命令 nbtstat -n 可以看到您的计算机注册的 NetBIOS 名字 :

Local Area Connection:

Node IpAddress: [192.168.1.70] Scope Id: []

NetBIOS Local Name Table

Name Type Status

www1 <00> UNIQUE Registered

tech51 <00> GROUP Registered

qd <20> UNIQUE Registered

查询 lmhosts 文件

如果查询 NetBIOS 名字缓存和通过网络做 NetBIOS 名字解析都失败, Windows 会读 lmhosts 文件来解析 NetBIOS 名字。我们已经知道 lmhosts 文件中有 #PRE 后缀的纪录会被装载到 NetBIOS 名字缓存中,现在 Windows 只会检查那些没有 #PRE 后缀的纪录。

如果前面三个步骤都解析失败,那么 NetBIOS 名字解析就失败了。

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容