Перелік доступних smb-спільних доступів у мережі через командний рядок у Linux


32

Мені було цікаво, чи є спосіб перерахувати всі SMB-сервери в локальній мережі (як-от перегляд мережевого мікрорайону у Windows) через командний рядок у Fedora.


Що ви маєте на увазі під 'smb-серверами'? Ви маєте на увазі сервери Samba , або ви маєте на увазі всі файлові сервери (мовні Samba чи Windows, мої власні чи інші робочі групи / домени), які говорять за протоколом SMB?
Курт Пфайфл

1
Крім того, назва вашого запитання (згадуючи "акції smb") дещо суперечить його тексту (згадуючи "SMB-сервери"). На кого ви мали на увазі?
Курт Пфайфл

Відповіді:


43

Ця команда - дуже маловідома таємниця Самба. Він повертає адреси IP всіх серверів Samba у власному домені широкомовної передачі:

nmblookup __SAMBA__

Цей повертає список усіх імен NetBIOS та їх псевдонімів усіх серверів Samba в околицях (він робить "запит статусу вузла" ):

nmblookup -S __SAMBA__

Цей повертає список усіх IP-адрес серверів SMB (тобто Linux + Unix / Samba або Windows) у сусідньому районі:

nmblookup '*'

Нарешті, всі імена NetBIOS та їх псевдоніми всіх SMB-серверів (Linux + Unix / Samba або Windows):

nmblookup -S '*'


Команда, подана в іншій відповіді nmblookup -S WORKGROUP, НЕ повертає всіх Samba або всіх SMB-серверів із сусідства. Натомість він повертає всі сервери 'Імена NetBIOS, які, можливо, є членами робочої групи під назвою' WORKGROUP ' . Результати не залежать від операційної системи серверів (тим більше, що це Windows, або більше, ніж Linux / Samba) - і добре відомий факт, що іноді багато серверів-членів Windows є частиною контрольованого Samba домену чи робочої групи. [Так, трапляється, що назва робочої групи Самба за замовчуванням - "WORKGROUP" ... але що ж таке?]. - Але питання полягало в тому , як "я можу познайомитися з усіма серверами SMB (Samba?!?) У моєму мережевому мікрорайоні?"


Це слід позначити як правильну відповідь.
rbellamy

4
Цікаво, використовуючи ці пропозиції, я бачу лише спільний доступ Samba на сервері, на якому я зараз перебуваю. Щоб дійсно виявити інший сервер Samba (він має робочу групу WORKGROUP), мені довелося запустити nmblookup -S WORKGROUP.. не впевнений, як насправді перелічити будь-який сервер, оскільки nmblookup -S '*'інші команди повернули лише локальний сервер, як було сказано вище.
davidhq

Для мене інша відповідь спрацювала краще, хоча і не правильна. nmblookup -S '*'повертає лише локальний сервер. може знадобитися додаткова інформація ... SAMBA повертає тільки самба-сервери, тоді як я б хотів, щоб усі SMB- файли були доступні (включені вікна). Принаймні я знайшов частку вікон, яка була частиною WORKGROUP. Я не впевнений, чому вся суєта щодо самби / smbd, і чому ця відповідь отримає бали.
Фред

@Fred: Відповідь прямо (недостатньо чітко?!?) Каже, що (1) __SAMBA__ви отримуєте сервери Samba , і (2) '*'ви отримуєте всі SMB- сервери. Ця відповідь отримує бали, тому що вона є правильною.
Курт Пфайфл

Я лише кажу, що це не працює на моєму комп’ютері. Я використовую ubuntu 16.04, nmblookup з пакету samba-common-bin 2: 4.3.8 + dfsg-0ubuntu1. Можливо, в моєму оточенні щось не так. Або регресія в інструментах, давно вже було дано відповідь на це питання. Попередній коментар говорить про те, що я не один бачу цю поведінку.
Фред

12

Можливо, вам доведеться змінити налаштування брандмауера під час встановлення за замовчуванням.
Офідіан

2
Я спростую цю відповідь. - Я не можу повірити , що такий НЕПРАВИЛЬНИЙ відповідь отримує 2 upvotes. Дана команда перераховує лише сервери, які є членами робочої групи з назвою "робоча група". І перераховує їх незалежно від ОС (Samba / Linux чи ні, Windows чи ні). Питання полягало у знайомстві з усіма серверами SAMBA в локальній мережі (незалежно від назви робочої групи).
Курт Пфайфл

7
Насправді він не сказав, що шукає всі сервери самби. Він сказав "всі сервери smb". Я вважаю, що мені не вдалося розібратися в тій мірі, яку ви зробили, щоб ви могли шукати робочі групи підстановки - але насправді я зрозумів, що я посилаюся на посібник, і я отримав ОП те, що йому потрібно. Не кажучи вже про те, що я відповів за півроку до того, як ви це зробили - я не розумію, що ви так зігнули з форми.
andyortlieb

10

У моїй мережі - на момент написання цього тексту (все змінюється) - smbtree - це моє вподобане рішення. Він запитує ваш пароль (мається на увазі ваш пароль Samba), а потім надає чудово детальний список, що включає назву netbios, доступні акції та опис акцій.

З іншого боку, nmblookup не перелічує всіх доступних акцій у моїй мережі. Я не знаю, чому це не так, але це не так.

Зі сторінки smbtree man:

smbtree - програма браузера smb у текстовому режимі. Це схоже на "Мережеве сусідство", знайдене на комп'ютерах Windows. Він друкує дерево з усіма відомими доменами, серверами в цих доменах і спільними ресурсами на серверах.

У команди nmblookup є більше комутаторів та опцій. Сторінка чоловіка nmblookup: чоловіча сторінка nmblookup

Відзначений для нащадків - оскільки ці відповіді не дотримуються - і, як я вже говорив, я вважаю, що smbtree стане кращою відповіддю на ОП у моїй мережі.


Вихід smbtree великий! - Хочете, щоб він не просив мого PWD, коли я входив у кореневе тхо, ніколи цього не бачив!
FreeSoftwareServers

@FreeSoftwareServers Спробуйте, smbtree -Nякщо ви шукаєте служби, які не потребують паролів.
Бен С

Я розумію, він хотів, щоб пароль SMB був не моїм кореневим паролем, вони, ймовірно, були однаковими, але так, у мене є мої акції, обмежені на пул IP-адрес dhcp, але немає пароля
FreeSoftwareServers

4

кращий спосіб, більш прискіпливо друкований, - використовувати 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

1
@ Corvus-B вже запропонував smbtreeу відповіді задовго до цього.
user4838962

3

Ще один спосіб зробити це через Avahi (Bonjour), якщо сервери публікують:

avahi-browse -r _smb._tcp

3

У версії 4 самби nmblookup '*'більше не працює; він дає лише локальний сервер. Він працював у самбі версії 3.

Тепер вам доведеться використовувати nmblookup WORKGROUP, яке, як згадував Курт, повертає сервери тільки в робочій групі WORKGROUP.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.