Fedoraのコマンドラインを介してローカルネットワーク上のすべてのsmbサーバーを一覧表示する方法(Windowsでネットワークの近所を見るなど)があるかどうか疑問に思っていました。
このコマンドは、Sambaのほとんど知られていない秘密です。自分のブロードキャストドメインにあるすべてのSambaサーバーのIPアドレスを返します。
nmblookup __SAMBA__
これは、近隣にあるすべてのSambaサーバーのすべてのNetBIOS名とそれらのエイリアスのリストを返します('node status query'を実行します):
nmblookup -S __SAMBA__
これは、近所にある[〜#〜] smb [〜#〜]サーバー(つまり、Linux + Unix/SambaまたはWindows)のすべてのIPアドレスのリストを返します。
nmblookup '*'
最後に、すべてのSMBサーバー(Linux + Unix/SambaまたはWindows)のすべてのNetBIOS名とそのエイリアス:
nmblookup -S '*'
他の回答nmblookup -S WORKGROUP
で指定されたコマンドは[〜#〜] not [〜#〜]からすべてのSambaまたはすべてのSMBサーバーを返します近所。代わりに、すべてのサーバーのNetBIOS名たまたま 'WORKGROUP'という名前のワークグループのメンバーであるを返します。結果はサーバーのOS(Windowsであるか、Linux/Sambaであるか)に依存していません-多くのWindowsメンバーサーバーがSambaで制御されたドメインまたはワークグループの一部である場合があることはよく知られています。 [はい、Sambaのデフォルトのワークグループ名が「WORKGROUP」であることが起こります...しかし、何ですか?] -しかし、問題は'どのようにしてネットワーク周辺のすべてのSMB(Samba?!?)サーバーを知ることができますか?'
nmblookup -S WORKGROUP
から: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html
私のネットワークでは-これを書いている時点で(状況は変わります)-smbtreeが私の推奨ソリューションです。パスワード(Sambaパスワードを意味します)を要求し、netbios名、使用可能な共有、共有の説明を含む詳細なリストを表示します。
一方、nmblookupは、ネットワーク上で使用可能なすべての共有をリストしません。なぜそうなのかはわかりませんが、わかりません。
Smbtreeのmanページから:
smbtreeは、テキストモードのsmbブラウザープログラムです。これは、Windowsコンピュータにある「ネットワークコンピュータ」に似ています。すべての既知のドメイン、それらのドメイン内のサーバー、およびサーバー上の共有を含むツリーを印刷します。
Nmblookupコマンドには、さらに多くのスイッチとオプションがあります。 nmblookupのmanページ: nmblookupのmanページ
後世に注目してください-これらの答えは根強く残っています-そして私が言ったように、私はsmbtreeが私のネットワーク上の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
Sambaバージョン4では、nmblookup '*'
機能しなくなりました。ローカルサーバーのみを提供します。以前はSambaバージョン3で機能していました。
今、あなたはnmblookup WORKGROUP
は、Kurtが述べたように、ワークグループWORKGROUP
のサーバーのみを返します。