Мне было интересно, есть ли способ перечисления всех серверов smb в локальной сети (например, просмотр сетевого окружения в windows) через командную строку в fedora.
samba
fedora
server-message-block
jcb344
источник
источник
Ответы:
Эта команда - очень малоизвестный секрет самбы. Он возвращает 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 . Этот ответ получает очки, потому что он правильный.от: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html
источник
В моей сети - на момент написания статьи (вещи меняются) - smbtree - мое предпочтительное решение. Он запрашивает ваш пароль (имеется в виду ваш пароль Samba), а затем выдает очень подробный список, который включает в себя имя netbios, доступные общие ресурсы и описание общих ресурсов.
nmblookup, с другой стороны, не перечисляет все доступные ресурсы в моей сети. Я не знаю, почему это не так, но это не так.
Со страницы руководства smbtree:
Команда nmblookup имеет больше переключателей и опций. Страница руководства nmblookup: страница руководства nmblookup
Отмеченный для потомков - поскольку эти ответы действительно остаются - и как я уже сказал, я обнаружил, что smbtree был бы лучшим ответом на OP в моей сети.
источник
smbtree -N
если вы ищете службы, которые не нуждаются в паролях.лучший способ, более изящно напечатанный, это использовать smbtree.
источник
smbtree
в ответ задолго до этого.Еще один способ сделать это через Avahi (Bonjour), если серверы публикуют:
источник
В версии 4 Самбы
nmblookup '*'
больше не работает; это дает только локальный сервер. Раньше работал в версии 3 Самбы.Теперь вы должны использовать
nmblookup WORKGROUP
, который, как упоминал Курт, возвращает только серверы в рабочей группеWORKGROUP
.источник