NetBIOS 名称解析——我该如何开始工作?

NetBIOS 名称解析——我该如何开始工作?

两台机器连接到交换机:WLADIMIR(XP Home SP3)和DAGO(Win7 Pro)。

WLADIMIR 通过 DHCP 收到 192.168.33.130,DAGO 收到 192.168.33.156。它们可以通过 IP 地址互相 ping 通。

现在,我想让 NetBIOS 名称也能正常工作。但是,两种方式都显示“未找到主机”。

好的,我可以通过在 WLADIMIR 上发出以下命令来暂时修复此问题:

nbtstat -A 192.168.33.156
REM This fetches DAGO's names and puts them into the cache.
ping dago
REM Successful ping!
nbtstat -c
REM Shows names in the cache. They'll stay for ten minutes.

以下是 WLADIMIR (XP) 的 netstat 输出:

:: netstat -ano | findstr 130:13
TCP    192.168.33.130:139     0.0.0.0:0              ABHÖREN         4
UDP    192.168.33.130:137     *:*                                    4
UDP    192.168.33.130:138     *:*                                    4

对于 DAGO (Win7):

TCP    192.168.33.156:139     0.0.0.0:0              ABHÖREN         4
UDP    192.168.33.156:137     *:*                                    4
UDP    192.168.33.156:138     *:*                                    4

服务文件摘录:

netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
netbios-ns        137/udp    nbname                 #NETBIOS Name Service
netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service

嗯,137/tcp 未打开。可能的原因是什么?

在我的 LAN 连接的 WINS 选项卡上,选中了 LMHOSTS 框,并且两台机器上的 NetBIOS 设置均设为“标准”。

这是一个2003 年的好文章关于 NetBIOS 名称解析。

问题:

(1) 我猜 NetBIOS 名称被设计为自动工作,无需我干预调用 nbtstat。如何启用此功能?该功能依赖于哪些服务?是否有防火墙干扰?

(2) 反过来就不行了,即 Win7 按名称 ping XP。nbtstat -A 似乎只有在从 XP 发出相同命令后才会成功;如果失败,似乎会传输一个空表。(有点像:除非我看到了你的,否则不会显示我的。)即使传输了实际的表,ping WLADIMIR 仍然不起作用。

谢谢。

答案1

NetBIOS 名称服务 (netbios-ns) 通常使用 UDP 而不是 TCP。我从未见过它使用 TCP。使 NetBIOS 名称解析正常工作的唯一可靠方法是填充每台主机上的 lmhosts 文件或实施 WINS 或 NBNS 服务器。

相关内容