Bir ağdaki mevcut smb paylaşımlarını linux'taki komut satırından listeleme


32

Tüm smb sunucularını yerel bir ağda (pencerelerde bir ağ mahallesine bakmak gibi) fedora'daki komut satırı üzerinden listelemenin bir yolu olup olmadığını merak ediyordum.


'Smb sunucuları' ile ne demek istiyorsunuz? Şunu Do Samba sunucularını veya (kendi içinde Hava ya da diğer çalışma grupları / etki alanlarında Samba veya Windows, Hava) SMB protokolü Sözünü ettiğimiz tüm dosya sunucularını anlama geliyor?
Kurt Pfeifle

1
Ayrıca, sorunuzun başlığı ('smb paylaşımlarından' bahseden) biraz metni ('smb sunucuları' derken) ile çelişmektedir. Hangisini demek istedin?
Kurt Pfeifle

Yanıtlar:


43

Bu emir, Samba'nın çok az bilinen bir sırrıdır. Kendi yayın alanındaki tüm Samba sunucularının IP adreslerini döndürür :

nmblookup __SAMBA__

Bu, tüm NetBIOS adlarının ve mahalledeki tüm Samba sunucularının diğer adlarının bir listesini döndürür ( 'düğüm durum sorgusu yapar' ):

nmblookup -S __SAMBA__

Bu, çevrede bulunan SMB sunucularının (Linux + Unix / Samba veya Windows) tüm IP adreslerinin bir listesini verir :

nmblookup '*'

Son olarak, tüm NetBIOS adları ve tüm SMB sunucularının takma adları (Linux + Unix / Samba veya Windows):

nmblookup -S '*'


Diğer cevapta verilen komut nmblookup -S WORKGROUPmu DEĞİL tüm Samba veya mahalle tüm SMB sunucuları dönün. Bunun yerine, tüm sunuculara 'WORKGROUP' adlı bir çalışma grubunun üyesi olan NetBIOS adlarını döndürür . Sonuçlar, sunucuların işletim sisteminden bağımsızdır (Windows ya da Linux / Samba olup olmadığı) - ve bazen çok sayıda Windows üye sunucusunun Samba tarafından kontrol edilen bir etki alanının ya da çalışma grubunun bir parçası olduğu iyi bilinen bir gerçektir. [Evet, Samba'nın varsayılan çalışma grubu adı 'WORKGROUP' ... olur, öyleyse ne oldu?]. - Fakat soru şu ki 'Ağ mahallemdeki tüm SMB (Samba?!?) Sunucularını nasıl tanıyabilirim?'


Bu doğru cevap olarak işaretlenmelidir.
15’te

4
Bu önerileri ilginç bir şekilde kullanarak yalnızca şu anda bulunduğum sunucudaki Samba paylaşımını görüyorum. Gerçekten başka bir Samba sunucusunu (WORKGROUP çalışma grubuna sahip) tespit etmek için çalıştırmak zorunda kaldım nmblookup -S WORKGROUP.. herhangi bir sunucuyu nasıl listeleyeceğinden emin değilim nmblookup -S '*'ve diğer komutlar yalnızca yukarıda belirtildiği gibi yerel sunucuyu döndürdü.
davidhq

Benim için, diğer cevap doğru olmasa da, daha iyi çalıştı. nmblookup -S '*'sadece yerel sunucuyu döndürür. daha fazla bilgiye ihtiyaç duyulabilir ... SAMBA sadece samba sunucularını döndürürken ben de tüm SMB paylaşımını istiyorum (pencereler dahil). En azından WORKGROUP'ın bir parçası olan pencere paylaşımını buldum. Neden samba / smbd hakkındaki tüm bu yaygara hakkında ve bu cevabın neden puan alacağından emin değilim.
Fred

@Fred: Cevap açıkça (yeterince açık değil mi?!?) Diyor ki, (1) __SAMBA__sizinle birlikte Samba sunucularını ve (2) '*'sizinle birlikte tüm SMB sunucularını alıyor. Bu cevap puan alır çünkü doğru olan budur.
Kurt Pfeifle

Sadece bunun bilgisayarımda çalışmadığını söylüyorum. Samba-common-bin 2: 4.3.8 + dfsg-0ubuntu1 paketindeki mbuntu 16.04, nmblookup kullanıyorum. Belki çevremde bir sorun var. Veya araçlardaki gerileme, bu sorunun yanıtlanması uzun zaman oldu. Önceki yorum, bu davranışı tek başıma görmediğimi gösteriyor.
Fred

12

Varsayılan kurulumda güvenlik duvarı ayarlarında ince ayar yapmanız gerekebilir.
Ophidian

2
Bu cevabı reddedeceğim. - Böyle bir WRONG cevabının 2 puan aldığına inanamıyorum. Verilen komut yalnızca "workgroup" adlı bir çalışma grubunun üyesi olan sunucuları listeler. Ve bunları işletim sisteminden bağımsız olarak listeler (Samba / Linux veya değil, Windows veya değil). Soru, yerel ağdaki tüm SAMBA sunucularını (çalışma grubu adına bakmaksızın) tanımaktı .
Kurt Pfeifle

7
Aslında, tüm samba sunucularını aradığını söylemedi. "Bütün smb sunucuları" dedi. Sanırım, joker karakter çalışma gruplarını arayabilmeniz için yaptığınız dereceyi ayrıntılı bir şekilde açıklayamadım - ama gerçekten, kılavuza atıfta bulunduğumu açıkça belirttim ve OP'ye ihtiyaç duyduğu şeyi aldım. Söylemem, senden yarım ay önce cevap verdim - ne hakkında büküldüğünü anlamıyorum.
andyortlieb,

10

Ağımda - bu yazı itibariyle (işler değişiyor) - smbtree benim tercih ettiğim çözüm. Parolanızı sorar (Samba şifreniz anlamına gelir) ve ardından netbios adını, mevcut hisseleri ve paylaşım açıklamasını içeren ayrıntılı bir liste sunar.

nmblookup, diğer taraftan, ağımdaki mevcut tüm hisseleri listelemiyor. Neden olmadığını bilmiyorum ama değil.

Smbtree man sayfasından:

smbtree metin modunda smb tarayıcı programıdır. Windows bilgisayarlarda bulunan "Ağ Komşuluk" benzer. Bilinen tüm etki alanlarını, bu etki alanındaki sunucuları ve sunuculardaki paylaşımları içeren bir ağaç yazdırır.

Nmblookup komutu daha fazla anahtar ve seçeneğe sahiptir. Nmblookup man sayfası: nmblookup man sayfası

Posterity için kaydetti - bu cevaplar birbirine yapışıyor gibi - ve dediğim gibi, smbtree'nin ağımdaki OP'ye daha iyi bir cevap olacağını düşünüyorum.


Smbtree çıktısı harika! - Kökte oturum açtığımda özürlülerimin sormamasını isterdim, daha önce hiç görmedim!
FreeSoftwareServers

@FreeSoftwareServers smbtree -NParola gerektirmeyen servislere bakıyorsanız deneyin .
Ben

Anlıyorum, SMB şifresinin kök şifrem değil, büyük olasılıkla aynı olması isteniyordu ama evet, hisseleri dhcp olmayan IP adres havuzuyla sınırlandırmıştım, fakat şifreniz yok
FreeSoftwareServers

4

daha ateşli bir şekilde basılmış daha iyi bir yol smbtree kullanmaktır.

$ 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 daha önce çoktan smbtreebir cevapta önermişti .
user4838962

3

Bunu yapmanın başka bir yolu, sunucular yayınladığı sürece Avahi (Bonjour) aracılığıyla:

avahi-browse -r _smb._tcp

3

Samba sürüm 4'te nmblookup '*'artık çalışmıyor; yalnızca yerel sunucuyu verir. Samba sürüm 3'te çalışıyordu.

Şimdi, nmblookup WORKGROUPKurt'un bahsettiği gibi, sadece çalışma grubundaki sunucuları döndüren kullanmanız gerekir WORKGROUP.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.