我想知道是否有一种方法可以通过fedora中的命令行列出本地网络上的所有smb服务器(例如查看Windows中的网络邻居)。
我想知道是否有一种方法可以通过fedora中的命令行列出本地网络上的所有smb服务器(例如查看Windows中的网络邻居)。
Answers:
这个命令是Samba鲜为人知的秘密。它返回一个自己的广播域中所有Samba服务器的IP地址:
nmblookup __SAMBA__
这将返回所有NetBIOS名称及其附近所有Samba服务器的别名的列表(它执行“节点状态查询”):
nmblookup -S __SAMBA__
此列表返回附近的SMB服务器(即Linux + Unix / Samba或Windows)的所有IP地址的列表:
nmblookup '*'
最后,所有SMB服务器(Linux + Unix / Samba或Windows)的所有NetBIOS名称及其别名:
nmblookup -S '*'
在其他的答案中给出的命令nmblookup -S WORKGROUP
不会不返回所有Samba或从附近的所有SMB服务器。而是返回所有服务器的NetBIOS名称,这些名称恰好是名为'WORKGROUP'的工作组的成员。结果独立于服务器的OS(无论是Windows,还是Linux / Samba)-众所周知,有时许多Windows成员服务器是Samba控制的域或工作组的一部分。[是的,碰巧Samba的默认工作组名称是'WORKGROUP'...但是怎么办??]。-但是问题是“如何了解网络邻居中的所有SMB(Samba?!?)服务器?”
nmblookup -S WORKGROUP
..不确定如何真正列出任何服务器,因为nmblookup -S '*'
如上所述,其他命令仅返回了本地服务器。
nmblookup -S '*'
仅返回本地服务器。可能需要更多信息... SAMBA只返回samba服务器,而我希望所有SMB共享(包括Windows)。至少我找到了属于WORKGROUP的窗口共享。我不确定为什么对samba / smbd会大惊小怪,为什么这个答案会得到要点。
__SAMBA__
你得到的Samba服务器,和(2)'*'
你的所有SMB服务器。这个答案很正确,因为它是正确的。
nmblookup -S WORKGROUP
来自:https : //web.archive.org/web/20101121043732/http : //brneurosci.org/linuxsetup38b.html
在我的网络上-撰写本文时(事情确实有所改变)-smbtree是我的首选解决方案。它要求您输入密码(即您的Samba密码),然后给出一个非常详细的列表,其中包括netbios名称,可用共享和共享描述。
另一方面,nmblookup不会列出我的网络上的所有可用共享。我不知道为什么没有,但事实并非如此。
在smbtree手册页中:
smbtree是文本模式下的smb浏览器程序。它类似于Windows计算机上的“网络邻居”。它会打印一棵树,其中包含所有已知域,这些域中的服务器以及服务器上的共享。
nmblookup命令确实具有更多的开关和选项。nmblookup手册页:nmblookup手册页
为了后代而着称-因为这些答案确实存在-正如我所说,我发现smbtree对于我网络上的OP是更好的答案。
smbtree -N
如果您正在寻找不需要密码的服务,请尝试。
更好的方法是使用smbtree,更可靠地打印出来。
$ smbtree
Enter user01's password: DOMAIN_A
\\FREEBOX_SERVER Freebox Server
\\FREEBOX_SERVER\IPC$ IPC Service (Freebox Server)
\\FREEBOX_SERVER\Disque dur AutoShare of fbxhdiskd partition 2
smbtree
在一个答案中提出了建议。