我想知道是否有方法通过Fedora的命令行列出本地networking上的所有smb服务器(如在windows中查看networking邻居)。
nmblookup -S WORKGROUP
来自: https : //web.archive.org/web/20101121043732/http : //brneurosci.org/linuxsetup38b.html
这个命令是桑巴一个很less知道的秘密。 它将所有Samba服务器的IP地址返回到自己的广播域中:
nmblookup __SAMBA__
这个返回附近所有Samba服务器的所有NetBIOS名称及其别名的列表(它执行“节点状态查询” ):
nmblookup -S __SAMBA__
这个返回附近SMB服务器(即Linux + Unix / Samba或Windows)的所有IP地址列表:
nmblookup '*'
最后,所有SMB服务器(Linux + Unix / Samba或Windows)的所有NetBIOS名称和别名:
nmblookup -S '*'
在另一个回答nmblookup -S WORKGROUP
中给出的命令不会返回所有的Samba或邻居的所有SMB服务器。 相反,它会返回碰巧是名为“WORKGROUP”的工作组成员的所有服务器的NetBIOS名称。 结果是独立于服务器的操作系统(也就是Windows,也就是Linux / Samba) – 众所周知,有时候很多Windows成员服务器都是Samba控制域或工作组的一部分。 [是的,Samba的默认工作组名称是'WORKGROUP'…但事实如此。 但是问题是我怎么才能了解我的networking邻居中的所有SMB(Samba?!?)服务器?
在我的networking上 – 在撰写本文时(事情确实会改变) – smbtree是我的首选解决scheme。 它要求input你的密码(也就是你的Samba密码),然后给出一个很好的清单,包括netbios名称,可用的份额和共享描述。
另一方面,nmblookup没有列出我networking上的所有可用共享。 我不知道为什么不这样做,但事实并非如此。
从smbtree手册页:
smbtree是一个在文本模式下的smb浏览器程序。 它类似于Windows电脑上的“网上邻居”。 它打印一个包含所有已知域的树,这些域中的服务器和服务器上的共享。
nmblookup命令确实有更多的开关和选项。 nmblookup手册页: nmblookup手册页
注意后人 – 因为这些答案确实存在 – 正如我所说,我发现smbtree将是我的networking上的OP更好的答案。
另一种方法是通过Avahi(Bonjour),只要服务器正在发布:
avahi-browse -r _smb._tcp
一个更好的方法,更恶劣的印刷,是使用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