我们正在尝试在 OS X 应用程序中获取 SMB 卷列表,并按照 Apple 的建议使用 NMBLookup 来获取列表。然而,我们通常无法使用该工具获得可用 SMB 卷的完整列表。我们有一个很好的基准,因为我们可以看到 Apple Finder 获得的完整列表,并且大多数时候,我们的列表不匹配,通常缺少服务器。

我们尝试了多种执行该命令的方法,但尚未找到任何可以让我们返回完整列表的方法。

nmblookup -M -- -

nmblookup '*'

ETC

有谁知道我们可能做错了什么,或者知道有更好的方法来查询本地子网上可用的 SMB 卷吗?

有帮助吗?

解决方案

这在我们的网络中运行得相当好。要点是对 nmblookup 返回的每个条目使用 smbclient -L:

nmblookup  -M -- - | grep -v querying | while read sw
do
echo $sw | awk -F' ' '{print $1}' | xargs smbclient -L 
done

编辑:@paul - 现在我明白你的意思 - vista 刚刚加入我们的网络,Finder 显示它,但不显示 nmblookup,但 smbclient 在“服务器”部分显示它。

smbclient 有一个“服务器”部分,其中列出了网络上找到的计算机。我使用的命令行是:

smbclient -L 192.168.0.4 //the IP as returned by nmblookup of the master browser

cristi:~ diciu$ smbclient -L 192.168.0.4
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.0.24-7.fc5]
    Sharename       Type      Comment
    ---------       ----      -------
    internal        Disk      some share
[..]
Anonymous login successful
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.0.24-7.fc5]

    Server               Comment
    ---------            -------
    MMM                  Vista box not showing up in nmblookup
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top