Tôi đã tự hỏi nếu có một cách liệt kê tất cả các máy chủ smb trên một mạng cục bộ (như nhìn vào một vùng lân cận mạng trong các cửa sổ) thông qua dòng lệnh trong fedora.
Tôi đã tự hỏi nếu có một cách liệt kê tất cả các máy chủ smb trên một mạng cục bộ (như nhìn vào một vùng lân cận mạng trong các cửa sổ) thông qua dòng lệnh trong fedora.
Câu trả lời:
Lệnh này là một bí mật rất ít được biết đến của Samba. Nó trả về địa chỉ IP của tất cả các máy chủ Samba trong miền quảng bá của chính mình:
nmblookup __SAMBA__
Cái này trả về một danh sách tất cả các tên NetBIOS và bí danh của tất cả các máy chủ Samba trong vùng lân cận (nó thực hiện một 'truy vấn trạng thái nút' ):
nmblookup -S __SAMBA__
Cái này trả về một danh sách tất cả các địa chỉ IP của máy chủ SMB (nghĩa là Linux + Unix / Samba hoặc Windows) trong vùng lân cận:
nmblookup '*'
Cuối cùng, tất cả tên NetBIOS và bí danh của tất cả các máy chủ SMB (Linux + Unix / Samba hoặc Windows):
nmblookup -S '*'
Lệnh được đưa ra trong câu trả lời khác nmblookup -S WORKGROUP
không KHÔNG trả lại tất cả Samba hoặc tất cả các máy chủ SMB từ khu phố. Thay vào đó, nó trả về tất cả các tên NetBIOS của máy chủ, những người tình cờ là thành viên của một nhóm làm việc có tên 'WORKGROUP' . Các kết quả độc lập với HĐH của máy chủ (wether là Windows, hay wether là Linux / Samba) - và một thực tế nổi tiếng là đôi khi rất nhiều máy chủ thành viên Windows là một phần của miền hoặc nhóm làm việc do Samba kiểm soát. [Vâng, điều xảy ra là tên nhóm làm việc mặc định của Samba là 'WORKGROUP' ... nhưng vậy thì sao ??]. - Nhưng câu hỏi là 'Làm thế nào để tôi biết tất cả các máy chủ SMB (Samba?!?) Trong vùng lân cận mạng của tôi?'
nmblookup -S WORKGROUP
.. không biết làm thế nào để thực sự liệt kê bất kỳ máy chủ nào nmblookup -S '*'
và các lệnh khác chỉ trả về máy chủ cục bộ như đã đề cập ở trên.
nmblookup -S '*'
chỉ trả về máy chủ cục bộ. có thể cần thêm thông tin ... SAMBA chỉ trả về máy chủ samba, trong khi tôi muốn tất cả chia sẻ SMB (bao gồm cả cửa sổ). Ít nhất tôi đã tìm thấy chia sẻ cửa sổ là một phần của WORKGROUP. Tôi không chắc tại sao tất cả những ồn ào về samba / smbd, và tại sao câu trả lời này sẽ nhận được điểm.
__SAMBA__
bạn có được các máy chủ Samba và (2) với '*'
bạn có tất cả các máy chủ SMB . Câu trả lời này được điểm bởi vì nó là chính xác.
nmblookup -S WORKGROUP
từ: https://web.archive.org/web/20101121043732/http://brneurosci.org/linuxsetup38b.html
Trên mạng của tôi - như bài viết này (mọi thứ thay đổi) - smbtree là giải pháp ưa thích của tôi. Nó yêu cầu mật khẩu của bạn (nghĩa là mật khẩu Samba của bạn), và sau đó nó đưa ra một danh sách chi tiết độc đáo bao gồm tên netbios, cổ phần có sẵn và mô tả chia sẻ.
mặt khác, nmblookup không liệt kê tất cả các cổ phần có sẵn trên mạng của tôi. Tôi không biết tại sao nó không, nhưng nó không.
Từ trang người đàn ông smbtree:
smbtree là một chương trình trình duyệt smb ở chế độ văn bản. Nó tương tự như "Vùng lân cận mạng" được tìm thấy trên các máy tính Windows. Nó in một cây với tất cả các miền đã biết, các máy chủ trong các miền đó và chia sẻ trên các máy chủ.
Lệnh nmblookup không có nhiều công tắc và tùy chọn hơn. Trang người đàn ông nmblookup : trang người đàn ông nmblookup
Lưu ý cho hậu thế - vì những câu trả lời này xuất hiện xung quanh - và như tôi đã nói, tôi thấy rằng smbtree sẽ là câu trả lời tốt hơn cho OP trên mạng của tôi.
smbtree -N
nếu bạn đang xem các dịch vụ không cần mật khẩu.
một cách tốt hơn, in ấn hơn, là sử dụng 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
trong một câu trả lời từ lâu.