web-dev-qa-db-ja.com

Linuxのコマンドラインを介してネットワーク上の利用可能なsmb共有を一覧表示する

Fedoraのコマンドラインを介してローカルネットワーク上のすべてのsmbサーバーを一覧表示する方法(Windowsでネットワークの近所を見るなど)があるかどうか疑問に思っていました。

34
jcb344

このコマンドは、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?!?)サーバーを知ることができますか?'

46
Kurt Pfeifle
12
andyortlieb

私のネットワークでは-これを書いている時点で(状況は変わります)-smbtreeが私の推奨ソリューションです。パスワード(Sambaパスワードを意味します)を要求し、netbios名、使用可能な共有、共有の説明を含む詳細なリストを表示します。

一方、nmblookupは、ネットワーク上で使用可能なすべての共有をリストしません。なぜそうなのかはわかりませんが、わかりません。

Smbtreeのmanページから:

smbtreeは、テキストモードのsmbブラウザープログラムです。これは、Windowsコンピュータにある「ネットワークコンピュータ」に似ています。すべての既知のドメイン、それらのドメイン内のサーバー、およびサーバー上の共有を含むツリーを印刷します。

Nmblookupコマンドには、さらに多くのスイッチとオプションがあります。 nmblookupのmanページ: nmblookupのmanページ

後世に注目してください-これらの答えは根強く残っています-そして私が言ったように、私はsmbtreeが私のネットワーク上のOPへのより良い答えであることがわかります。

11
Corvus B

これを行う別の方法は、サーバーが公開している限り、Avahi(Bonjour)を使用することです。

avahi-browse -r _smb._tcp
4
hooby3dfx

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
4
Stagira

Sambaバージョン4では、nmblookup '*'機能しなくなりました。ローカルサーバーのみを提供します。以前はSambaバージョン3で機能していました。

今、あなたはnmblookup WORKGROUPは、Kurtが述べたように、ワークグループWORKGROUPのサーバーのみを返します。

3
Doke