Linux의 명령 행을 통해 네트워크에서 사용 가능한 smb 공유 나열 smb 서버를 나열하는

fedora의 명령 줄을 통해 로컬 네트워크의 모든 smb 서버를 나열하는 방법이 있는지 궁금합니다 (Windows의 네트워크 환경을 보는 것처럼).



답변

이 명령은 삼바의 알려진 비밀입니다. 자체 브로드 캐스트 도메인에있는 모든 Samba 서버 의 IP 주소를 반환 합니다.

nmblookup __SAMBA__

이것은 이웃에있는 모든 Samba 서버의 모든 NetBIOS 이름 및 별명 목록을 리턴합니다 ( ‘노드 상태 조회’수행 ).

nmblookup -S __SAMBA__

이것은 이웃에있는 SMB 서버 (Linux + Unix / Samba 또는 Windows) 의 모든 IP 주소 목록을 반환합니다 .

nmblookup '*'

마지막으로 모든 SMB 서버 (Linux + Unix / Samba 또는 Windows)의 모든 NetBIOS 이름 및 별명 :

nmblookup -S '*'


다른 답변에 제공된 명령 은 이웃에서 모든 Samba 또는 모든 SMB 서버를 반환 nmblookup -S WORKGROUP하지 않습니다 . 대신 ‘WORKGROUP’이라는 작업 그룹의 구성원 인 모든 서버의 NetBIOS 이름 반환합니다 . 결과는 서버의 OS (Windows 또는 Linux / Samba)와 무관하며, 많은 Windows 구성원 서버가 Samba 제어 도메인 또는 작업 그룹의 일부라는 것은 잘 알려진 사실입니다. [그렇습니다. 삼바의 기본 작업 그룹 이름은 ‘WORKGROUP’입니다. 그러나 문제는 ‘네트워크 환경에있는 모든 SMB (Samba?!?) 서버를 어떻게 알 수 있습니까?’였습니다.


답변

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를 사용하는 것입니다.

$ 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


답변

다른 방법은 서버가 게시하는 한 Avahi (Bonjour)를 이용하는 것입니다.

avahi-browse -r _smb._tcp


답변

Samba 버전 4에서는 nmblookup '*'더 이상 작동하지 않습니다. 로컬 서버 만 제공합니다. 삼바 버전 3에서 작동했습니다.

이제 nmblookup WORKGROUPKurt가 언급했듯이 workgroup의 서버 만 반환하는 을 사용해야 합니다 WORKGROUP.


답변