ฉันสงสัยว่ามีวิธีในการแสดงรายการเซิร์ฟเวอร์ smb ทั้งหมดบนเครือข่ายท้องถิ่น (เช่นการดูพื้นที่ใกล้เคียงเครือข่ายใน windows) ผ่านทางบรรทัดคำสั่งใน fedora หรือไม่
ฉันสงสัยว่ามีวิธีในการแสดงรายการเซิร์ฟเวอร์ smb ทั้งหมดบนเครือข่ายท้องถิ่น (เช่นการดูพื้นที่ใกล้เคียงเครือข่ายใน windows) ผ่านทางบรรทัดคำสั่งใน fedora หรือไม่
คำตอบ:
คำสั่งนี้เป็นความลับที่รู้จักกันน้อยมากของ Samba ส่งคืนที่อยู่ 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 หรือ Wether นั่นคือ Linux / Samba) และเป็นที่ทราบกันดีว่าบางครั้งเซิร์ฟเวอร์สมาชิกของ Windows จำนวนมากเป็นส่วนหนึ่งของโดเมนที่ควบคุมโดย Samba หรือเวิร์กกรุ๊ป [ใช่มันเกิดขึ้นที่ชื่อเวิร์กกรุ๊ปเริ่มต้นของแซมบ้าคือ 'WORKGROUP' ... แต่งั้นเหรอ ??] - แต่คำถามคือ'ฉันจะรู้จักเซิร์ฟเวอร์ SMB (Samba?!?) ทั้งหมดในเครือข่ายของฉันได้อย่างไร'
nmblookup -S WORKGROUP
.. ไม่แน่ใจว่าจะแสดงรายการเซิร์ฟเวอร์ใดได้อย่างไรnmblookup -S '*'
และคำสั่งอื่น ๆ จะส่งคืนเซิร์ฟเวอร์ภายในตามที่กล่าวไว้ข้างต้นเท่านั้น
nmblookup -S '*'
ส่งคืนเฉพาะโลคัลเซิร์ฟเวอร์ อาจต้องการข้อมูลเพิ่มเติม ... 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 ในโหมดข้อความ มันคล้ายกับ "Network Neighborhood" ที่พบในคอมพิวเตอร์ 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
ในคำตอบนานก่อน
อีกวิธีในการทำเช่นนี้คือผ่าน Avahi (Bonjour) ตราบใดที่เซิร์ฟเวอร์ยังเผยแพร่:
avahi-browse -r _smb._tcp
ใน samba เวอร์ชั่น 4 nmblookup '*'
ไม่สามารถใช้งานได้อีกต่อไป; มันให้เฉพาะเซิร์ฟเวอร์ท้องถิ่น มันเคยทำงานใน samba เวอร์ชั่น 3
ตอนนี้คุณต้องใช้nmblookup WORKGROUP
ซึ่งดังที่ Kurt กล่าวถึงส่งคืนเซิร์ฟเวอร์ในเวิร์กกรุ๊ปWORKGROUP
เท่านั้น