Zastanawiałem się, czy istnieje sposób wylistowania wszystkich serwerów smb w sieci lokalnej (np. Przeglądanie sąsiedztwa sieci w Windows) za pomocą wiersza poleceń w Fedorze.
samba
fedora
server-message-block
jcb344
źródło
źródło
Odpowiedzi:
To polecenie jest bardzo mało znanym sekretem Samby. Zwraca adresy IP wszystkich serwerów Samby we własnej domenie rozgłoszeniowej:
nmblookup __SAMBA__
Ta zwraca listę wszystkich nazw NetBIOS i ich aliasów wszystkich serwerów Samby w sąsiedztwie (wykonuje „zapytanie o status węzła” ):
nmblookup -S __SAMBA__
Ten zwraca listę wszystkich adresów IP serwerów SMB (czyli Linux + Unix / Samba lub Windows) w sąsiedztwie:
nmblookup '*'
Wreszcie, wszystkie nazwy NetBIOS i ich aliasy wszystkich serwerów SMB (Linux + Unix / Samba lub Windows):
nmblookup -S '*'
Polecenie wydane w drugiej odpowiedź
nmblookup -S WORKGROUP
jest NIE zwraca całą Samba lub wszystkie serwery SMB z sąsiedztwa. Zamiast tego zwraca nazwy wszystkich serwerów NetBIOS, które są członkami grupy roboczej o nazwie „WORKGROUP” . Wyniki są niezależne od systemu operacyjnego serwerów (niezależnie od systemu Windows lub systemu Linux / Samba) - i dobrze wiadomo, że czasami wiele serwerów członkowskich Windows należy do domeny lub grupy roboczej kontrolowanej przez Sambę. [Tak, zdarza się, że domyślna nazwa grupy roboczej Samby to „WORKGROUP” ... ale co z tego?]. - Ale pytanie brzmiało: „Jak poznać wszystkie serwery SMB (Samba?!?) W mojej sieci?”źródło
nmblookup -S WORKGROUP
.. nie jestem pewien, jak naprawdę wyświetlić listę dowolnego serwera,nmblookup -S '*'
a inne polecenia zwróciły tylko serwer lokalny, jak wspomniano powyżej.nmblookup -S '*'
zwraca tylko serwer lokalny. więcej informacji może być potrzebnych ... SAMBA zwraca tylko serwery samby, podczas gdy wszystkim podobałby się cały udział SMB (w tym okna). Przynajmniej znalazłem udział okna, który był częścią WORKGROUP. Nie jestem pewien, dlaczego całe zamieszanie związane z sambą / smbd i dlaczego ta odpowiedź miałaby sens.__SAMBA__
dostajesz serwery Samba , a (2)'*'
dostajesz wszystkie serwery SMB . Ta odpowiedź otrzymuje punkty, ponieważ jest poprawna.z: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html
źródło
W mojej sieci - od tego pisania (rzeczy się zmieniają) - smbtree jest moim preferowanym rozwiązaniem. Pyta o twoje hasło (czyli hasło do Samby), a następnie podaje bardzo szczegółową listę, która zawiera nazwę Netbios, dostępne udziały i opis udziału.
nmblookup, z drugiej strony, nie wyświetla wszystkich dostępnych udziałów w mojej sieci. Nie wiem, dlaczego tak nie jest, ale tak nie jest.
Ze strony man smbtree:
Polecenie nmblookup ma więcej przełączników i opcji. Strona podręcznika nmblookup: strona podręcznika nmblookup
Znany z pokolenia na pokolenie - ponieważ te odpowiedzi się nie zmieniają - i jak powiedziałem, uważam, że smbtree byłoby lepszą odpowiedzią na PO w mojej sieci.
źródło
smbtree -N
jeśli patrzysz na usługi, które nie potrzebują haseł.lepszym sposobem, bardziej przyjaźnie wydrukowanym, jest użycie smbtree.
źródło
smbtree
w odpowiedzi.Innym sposobem na to jest Avahi (Bonjour), o ile serwery publikują:
źródło
W wersji 4 samby
nmblookup '*'
już nie działa; daje tylko serwer lokalny. Kiedyś działał w wersji 3 samby.Teraz musisz użyć
nmblookup WORKGROUP
, który, jak wspomniał Kurt, zwraca tylko serwery w grupie roboczejWORKGROUP
.źródło