it-swarm.com.de

Auflisten der verfügbaren SMB-Freigaben in einem Netzwerk über die Befehlszeile unter Linux

Ich habe mich gefragt, ob es eine Möglichkeit gibt, alle SMB-Server in einem lokalen Netzwerk (z. B. das Betrachten einer Netzwerkumgebung in Windows) über die Befehlszeile in Fedora aufzulisten.

34
jcb344

Dieser Befehl ist ein sehr wenig bekanntes Geheimnis von Samba. Es gibt IP-Adressen aller Samba Server in der eigenen Broadcast-Domäne zurück:

nmblookup __SAMBA__

Dieser gibt eine Liste aller NetBIOS-Namen und ihrer Aliase aller Samba-Server in der Nachbarschaft zurück (es wird eine 'Knotenstatusabfrage' durchgeführt):

nmblookup -S __SAMBA__

Dieser gibt eine Liste aller IP-Adressen von [~ # ~] smb [~ # ~] Servern (dh Linux + Unix/Samba oder) zurück Windows) in der Nachbarschaft:

nmblookup '*'

Schließlich alle NetBIOS-Namen und ihre Aliase aller SMB Server (Linux + Unix/Samba oder Windows)):

nmblookup -S '*'


Der Befehl in der anderen Antwort nmblookup -S WORKGROUP tut [~ # ~] nicht [~ # ~] gibt alle Samba oder alle SMB Server aus der Nachbarschaft. Stattdessen werden die NetBIOS-Namen aller Server zurückgegeben, die zufällig Mitglieder einer Arbeitsgruppe mit dem Namen 'WORKGROUP' sind Die Ergebnisse sind unabhängig vom Betriebssystem des Servers (ob Windows oder Linux/Samba) - und es ist bekannt, dass manchmal viele Windows-Mitgliedsserver Teil einer von Samba kontrollierten Domäne oder Arbeitsgruppe sind. [ Ja, es kommt vor, dass Sambas Standard-Arbeitsgruppenname 'WORKGROUP' ist ... aber was nun?]. - Aber die Frage war 'Wie lerne ich alle kennen SMB (Samba?!?) Server in meiner Netzwerkumgebung? '

46
Kurt Pfeifle
12
andyortlieb

In meinem Netzwerk - zum jetzigen Zeitpunkt (Dinge ändern sich) - ist smbtree meine bevorzugte Lösung. Es fragt nach Ihrem Passwort (dh Ihrem Samba-Passwort) und gibt dann eine sehr detaillierte Liste mit dem Namen des Netbios, den verfügbaren Freigaben und der Beschreibung der Freigabe.

nmblookup hingegen listet nicht alle verfügbaren Freigaben in meinem Netzwerk auf. Ich weiß nicht warum, aber nicht.

Von der smbtree-Manpage:

smbtree ist ein jdb-Browserprogramm im Textmodus. Es ähnelt der "Netzwerkumgebung" auf Windows-Computern. Es wird ein Baum mit allen bekannten Domänen, den Servern in diesen Domänen und den Freigaben auf den Servern gedruckt.

Der Befehl nmblookup verfügt über mehr Schalter und Optionen. Die nmblookup-Manpage: nmblookup-Manpage

Bekannt für die Nachwelt - da diese Antworten bestehen bleiben - und wie gesagt, ich finde, dass smbtree eine bessere Antwort auf das OP in meinem Netzwerk wäre.

11
Corvus B

Eine andere Möglichkeit, dies zu tun, ist über Avahi (Bonjour), solange die Server veröffentlichen:

avahi-browse -r _smb._tcp
4
hooby3dfx

ein besserer Weg, teuflischer gedruckt, ist die Verwendung von 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

In Samba Version 4 funktioniert nmblookup '*' Nicht mehr. es gibt nur den lokalen Server. Es funktionierte früher in Samba Version 3.

Jetzt müssen Sie nmblookup WORKGROUP Verwenden, das, wie Kurt erwähnt hat, nur Server in der Arbeitsgruppe WORKGROUP zurückgibt.

3
Doke