#PRE
系统启动时将带有 #PRE 的数据预加载(preload)到NetBIOS名称缓冲区。
102.54.94.123 popular #PRE
#DOM:域名
DOM 表示这是域控制器,其名为“域名”,该条数据后面需要添加 #PRE。
102.54.94.97 rhino #PRE #DOM:networking
#INCLUDE:文件名
将“文件名”所指的另一个 LMHOSTS 文件加入到此文件中。
#BEGIN_ALTERNATE 与 #END_ALTERNATE
这两个关键字间可插入多个 #INCLUDE,系统会读取第 1 个 LMHOSTS 文件,如果出错,那么会读取第2个 LMHOSTS,以此类推,如果遇到读取成功的,那么就会停住,该关键字具备容错功能。
\0xnn
计算机名中可以包含无法显示(non-printable)的特殊字符,但必须以双引号括起来。
102.54.94.102 "appname \0x14"
#MH
如果计算机中包含多张网卡,可以分别为每张网卡创建一条数据,但计算机名都相同,其IP地址为各网卡的IP地址。MH 为 Multihomed 的缩写。
LMHOSTS 文件比较适合于没有 WINS 服务器的环境,也解决了广播方式无法跨越其它网段的问题,它与广播方式的协同工作如下(假设没有WINS服务器):
1) 系统启动时,将 LMHOSTS 中设有 #PRE 的数据预加载到 NetBIOS 缓冲区。
2) 当主机查询其它计算机的IP地址时,先检查 NetBIOS 缓冲区。
3) 如果缓冲区中没有IP地址,将改用广播的方式。
4) 如果广播失败,再去检查 LMHOSTS 文件。
5) 如果检查LMHOSTS文件失败,发出警告消息。
6) 如果在LMHOSTS中找到对应项,就将该数据存入到NetBIOS缓冲区中以供下次使用。
使用 nbtstat –R 清除NetBIOS缓冲区,同时加载LMHOSTS中的#PRE记录。
使用LMHOSTS的缺点是每台计算机都要维护一份LMHOSTS文件,且当网络上的计算机有更改时,每台计算机的LMHOSTS文件也都必须做更改。对这个不便,可以让所有的计算机共享同一份 LMHOSTS 文件的方法来解决。假设,共享 LMHOSTS 文件的计算机名为 LMSERVER,LMHOSTS文件所在的文件夹为 LMShare,那么其他计算机可以在自己的 LMHOSTS 文件中添加下面的语句:
#INCLUDE \\LMSERVER\LMShare\LMHOSTS
需要注意的是,如果服务器是在其它网段的话,由于不能广播获知其IP,那么应该在上述的语句前再添加一条数据:
192.168.2.188 LMShare #PRE
#INCLUDE \\LMSERVER\LMShare\LMHOSTS