Мне было интересно, есть ли способ перечисления всех серверов smb в локальной сети (например, просмотр сетевого окружения в windows) через командную строку в fedora.
Мне было интересно, есть ли способ перечисления всех серверов smb в локальной сети (например, просмотр сетевого окружения в windows) через командную строку в fedora.
Ответы:
Эта команда - очень малоизвестный секрет самбы. Он возвращает 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 или Windows, или Linux / Samba), и хорошо известно, что иногда многие серверы Windows являются частью домена или рабочей группы, контролируемой Samba. [Да, бывает, что имя рабочей группы Samba по умолчанию - «WORKGROUP» ... ну и что с того, что ??]. - Но вопрос был: «Как мне узнать все SMB (Samba?!?) Серверы в моем сетевом окружении?»
nmblookup -S WORKGROUP
... не уверен, как на самом деле перечислить какой-либо сервер, поскольку nmblookup -S '*'
другие команды возвращали только локальный сервер, как упомянуто выше.
nmblookup -S '*'
возвращает только локальный сервер. может потребоваться больше информации ... SAMBA возвращает только серверы samba, в то время как я бы хотел получить общий доступ к SMB (включая Windows). По крайней мере, я нашел оконную долю, которая была частью WORKGROUP. Я не уверен, почему вся суета о samba / smbd, и почему этот ответ получит очки.
__SAMBA__
вы получаете серверы Samba и (2) '*'
вы получаете все серверы SMB . Этот ответ получает очки, потому что он правильный.
nmblookup -S WORKGROUP
от: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html
В моей сети - на момент написания статьи (вещи меняются) - smbtree - мое предпочтительное решение. Он запрашивает ваш пароль (имеется в виду ваш пароль Samba), а затем выдает очень подробный список, который включает в себя имя netbios, доступные общие ресурсы и описание общих ресурсов.
nmblookup, с другой стороны, не перечисляет все доступные ресурсы в моей сети. Я не знаю, почему это не так, но это не так.
Со страницы руководства smbtree:
smbtree - это браузерная программа smb в текстовом режиме. Это похоже на «Сетевое окружение» на компьютерах с Windows. Он печатает дерево со всеми известными доменами, серверами в этих доменах и общими ресурсами на серверах.
Команда nmblookup имеет больше переключателей и опций. Страница руководства nmblookup: страница руководства nmblookup
Отмеченный для потомков - поскольку эти ответы действительно остаются - и как я уже сказал, я обнаружил, что smbtree был бы лучшим ответом на OP в моей сети.
smbtree -N
если вы ищете службы, которые не нуждаются в паролях.
лучший способ, более изящно напечатанный, это использовать 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
smbtree
в ответ задолго до этого.