Frage Auflistung verfügbarer smb-Freigaben in einem Netzwerk über die Befehlszeile in linux


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


24
2017-07-14 16:57


Ursprung


Was meinst du mit 'smb-Servern'? Meinst du SambaServer, oder meinst du alle Dateiserver (ob Samba oder Windows, ob in meiner eigenen oder in anderen Arbeitsgruppen / Domänen), die das SMB-Protokoll sprechen? - Kurt Pfeifle
Auch der Titel Ihrer Frage ("smb shares") widerspricht etwas dem Text ("smb server"). Welchen meinst du? - Kurt Pfeifle


Antworten:


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

nmblookup __SAMBA__

Dieser gibt eine Liste aller NetBIOS - Namen und deren Aliase aller Samba - Server in der Nachbarschaft zurück (tut a 'Knotenstatusabfrage'):

nmblookup -S __SAMBA__

Dieser gibt eine Liste aller IP-Adressen von SMB Server (also Linux + Unix / Samba oder Windows) in der Nachbarschaft:

nmblookup '*'

Abschließend 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 gib alle Samba oder alle SMB Server aus der Nachbarschaft zurück. Stattdessen gibt es die NetBIOS-Namen aller Server zurück die zufällig Mitglieder einer Arbeitsgruppe namens "WORKGROUP" sind. Die Ergebnisse sind unabhängig vom Betriebssystem des Servers (ob Windows oder Linux / Samba) und es ist eine bekannte Tatsache, dass manchmal viele Windows-Mitgliedsserver Teil einer Samba-kontrollierten Domäne oder Arbeitsgruppe sind. [Ja, es passiert, dass Sambas Name der Standardarbeitsgruppe 'WORKGROUP' ist ... aber was?]. - Aber die Frage war 'Wie lerne ich alle SMB (Samba?!?) Server in meiner Netzwerkumgebung kennen?'


36
2017-08-02 10:34



Dies sollte als die richtige Antwort markiert werden. - rbellamy
Interessanterweise sehe ich nur die Samba-Freigabe auf dem Server, auf dem ich gerade bin. Um wirklich einen anderen Samba-Server zu erkennen (er hat WORKGROUP Arbeitsgruppe), musste ich laufen nmblookup -S WORKGROUP.. nicht sicher, wie man wirklich irgendeinen Server seither aufführt nmblookup -S '*' und andere Befehle gaben nur den lokalen Server zurück, wie oben erwähnt. - davidhq
Auch für mich funktionierte die andere Antwort besser, wenn auch nicht korrekt. nmblookup -S '*' Gibt nur den lokalen Server zurück. Mehr Informationen könnten benötigt werden ... SAMBA gibt nur Samba-Server zurück, während ich alle SMB-Freigabe (einschließlich Windows) möchte. Zumindest habe ich die Fensterfreigabe gefunden, die Teil von WORKGROUP waren. Ich bin nicht sicher, warum all die Aufregung über Samba / smbd, und warum diese Antwort die Punkte bekommen würde. - Fred
@Fred: Die Antwort sagt explizit (nicht klar genug?!?) Das (1) mit __SAMBA__ Du bekommst das Samba Server und (2) mit '*' du kriegst alles SMB Server. Diese Antwort bekommt Punkte, weil es die richtige ist. - Kurt Pfeifle
Ich sage nur, das funktioniert nicht auf meinem Computer. Ich benutze Ubuntu 16.04, nmblookup aus dem Paket Samba-common-bin 2: 4.3.8 + dfsg-0ubuntu1. Vielleicht stimmt etwas mit meiner Umgebung nicht. Oder Regression in den Tools, es ist lange her, dass diese Frage beantwortet wurde. Der vorherige Kommentar deutet darauf hin, dass ich dieses Verhalten nicht allein sehe. - Fred


nmblookup -S WORKGROUP 

von dem: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html


12
2017-07-14 17:00



Möglicherweise müssen Sie die Firewall-Einstellungen für eine Standardinstallation anpassen. - Ophidian
Ich werde diese Antwort ablehnen. - Das kann ich nicht glauben FALSCH Antwort bekommt 2 Upvotes. Der angegebene Befehl listet nur Server auf, die Mitglieder einer Arbeitsgruppe namens "Arbeitsgruppe" sind. Und es listet sie unabhängig vom Betriebssystem auf (Samba / Linux oder nicht, Windows oder nicht). Die Frage war, alles zu erfahren SAMBA Server im lokalen Netzwerk (unabhängig vom Namen der Arbeitsgruppe). - Kurt Pfeifle
Eigentlich hat er nicht gesagt, dass er nach allen Samba-Servern sucht. Er sagte "alle SMB-Server". Ich schätze, ich habe es nicht geschafft, in dem Maße zu arbeiten, wie Sie es getan haben, da Sie nach Wildcard-Arbeitsgruppen suchen können - aber ich habe wirklich klargestellt, dass ich auf das Handbuch verwiesen habe, und ich habe das OP bekommen, was er brauchte. Ganz zu schweigen davon, dass ich einen halben Monat vorher geantwortet habe - ich verstehe nicht, worüber du so ungepflegt bist. - andyortlieb


In meinem Netzwerk - zum Zeitpunkt des Schreibens (Dinge ändern sich) - ist smbtree meine bevorzugte Lösung. Es fragt nach Ihrem Passwort (dh Ihr Samba-Passwort), und dann gibt es eine schön detaillierte Liste, die NetBIOS-Namen, verfügbare Freigaben und die Share-Beschreibung enthält.

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

Auf der smbtree man-Seite:

smbtree ist ein smb Browserprogramm im Textmodus. Es ist ähnlich wie die   "Netzwerkumgebung" wurde auf Windows-Computern gefunden. Es druckt einen Baum   mit allen bekannten Domains, den Servern in diesen Domains und den   Aktien auf den Servern.

Der nmblookup-Befehl hat mehr Schalter und Optionen. Die nmblookup man-Seite: nmblookup man-Seite

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


10
2017-09-21 16:51



Die Ausgabe von smbtree ist großartig! - Ich wünschte, es hätte nicht nach meinem PWD gefragt, wenn ich mich in einem root tho eingeloggt habe, noch nie zuvor gesehen! - FreeSoftwareServers
@FreeSoftwareServers Versuchen Sie es smbtree -N wenn Sie Dienste betrachten, die keine Passwörter benötigen. - Ben C
Ich verstehe, es wollte das SMB-Passwort nicht mein Root-Passwort, sie waren wahrscheinlich die gleichen, aber ja, ich habe meine Aktien auf nicht DHCP IP-Adress-Pool beschränkt, aber kein Passwort - FreeSoftwareServers


Ein besserer Weg, einfacher 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
2017-09-29 09:14



@ Corvus-B hatte bereits vorgeschlagen smbtree in einer Antwort lange vorher. - user4838962


In Samba Version 4, nmblookup '*' funktioniert nicht mehr; es gibt nur den lokalen Server. Es hat früher in Samba Version 3 funktioniert.

Jetzt müssen Sie verwenden nmblookup WORKGROUP, die, wie Kurt erwähnte, nur Server in der Arbeitsgruppe zurückgibt WORKGROUP.


3
2018-04-10 18:29





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

avahi-browse -r _smb._tcp

1
2018-02-05 23:32