ฉันจะค้นหา SMB รุ่นใดที่เปิดใช้งานบนโฮสต์ระยะไกล


11

เครื่องท้องถิ่นของฉันใช้ Windows 7 ซึ่งรองรับโพรโทคอล SMB รุ่นล่าสุด (SMB 2.1) ฉันยังมีโฮสต์ระยะไกลและฉันไม่ทราบว่ามีระบบปฏิบัติการหรือซอฟต์แวร์สนับสนุน SMB ติดตั้งอยู่บนโฮสต์ระยะไกลนั้น ฉันรู้แค่ว่ารีโมตโฮสต์สนับสนุนโปรโตคอล SMB บางเวอร์ชัน

ฉันจะทราบได้อย่างไรจากพรอมต์คำสั่ง (หรือ PowerShell) ของเครื่อง Windows 7 ของฉัน SMB รุ่นใดที่โฮสต์ระยะไกลนั้นรองรับ

แก้ไข: แม้ว่าฉันจะพูดถึง Windows 7 ข้างต้น แต่ฉันแน่ใจว่าคำถามนี้เกี่ยวข้องกับผู้ดูแลระบบ / เครือข่ายหรือเจ้าหน้าที่ฝ่ายสนับสนุนเดสก์ท็อปหลายคนดังนั้นเหตุใดฉันจึงโพสต์คำถามที่นี่แทนที่จะเป็น superuser.com


1
คำถามที่ดีไม่มีคำตอบที่ดีคุณอาจต้องสูดดมแพ็คเก็ตและสามารถทำได้จากบรรทัดคำสั่ง หวังว่าจะมีวิธีที่ดีกว่านี้
โทนี่โร ธ

คำตอบ:


3

วิธีที่ง่ายที่สุดคือการติดตั้งWireSharkและจับแพ็คเก็ตมันจะถอดรหัสมันและควรแสดงเวอร์ชันโปรโตคอลให้คุณดู พวกเขามีรายการ SMBv2 บนวิกิดังนั้น WireShark เวอร์ชันล่าสุดจึงควรถอดรหัสมันด้วยการดักจับแพ็กเก็ต


1
ในกรณีนี้ฉันจะใช้ netmon 3.4 หากคุณไม่ต้องการติดตั้งคุณไม่จำเป็นต้องเรียกใช้ "netsh trace start capture = ใช่" จากนั้นเชื่อมต่อกับการแชร์แล้วเรียกใช้ "netsh trace stop" ผลลัพธ์ * ไฟล์. cab สามารถอ่านได้โดย netmon 3.4 ซึ่งไม่จำเป็นต้องอยู่บนเวิร์กสเตชัน / เซิร์ฟเวอร์ที่คุณกำลังดักจับ
โทนี่โร ธ

3

บน Windows 8 และสูงกว่าคุณสามารถใช้คำสั่ง powerhsell Get-SmbConnectionเพื่อตรวจสอบว่าใช้ SMB เวอร์ชันใดต่อการเชื่อมต่อ


แม้ว่าคำถามเดิมของฉันสำหรับ Windows 7 เป็นเรื่องดีที่รู้ว่าสิ่งต่าง ๆ นั้นง่ายกว่าใน Windows 8 และใหม่กว่า!
Kal

1

มีเพียงสองวิธีที่เป็นไปได้เพื่อกำหนดรุ่น SMB ของโฮสต์ระยะไกล

สิ่งแรกคือการคว้าแบนเนอร์โดยใช้ telnet ถึงอย่างนั้นคุณก็ยังไม่รับประกันว่าจะไม่มีการใช้งานใด ๆ ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ SMB ของฉันได้ แต่ไม่ได้รับข้อมูลแบนเนอร์ที่มีประโยชน์

ประการที่สองคือการสแกนลายนิ้วมือระบบผ่านเครือข่ายโดยใช้เครื่องสแกนความปลอดภัยเครือข่าย คุณจะต้องค้นหาเครื่องมือที่ดีเพราะคุณยังไม่รับประกันความสำเร็จใด ๆ ในการพิจารณาว่า SMB รุ่นใดกำลังทำงานอยู่ ตัวอย่างเช่นฉันเพิ่งใช้การสแกนแบบเร็วด้วย nmap บนเครือข่ายของฉัน (ที่ฉันรู้ว่ากำลังเรียกใช้ microsoft SMB ในหลาย ๆ จุดปลาย) และฉันไม่ได้รับข้อมูลที่เกี่ยวข้องกับ SMB เวอร์ชันใดที่ทำงานอยู่


nmap ตรวจจับเวอร์ชัน cifs หรือไม่ ไม่ได้ใช้ในขณะที่
โทนี่โร ธ

1
@tonyroth อาจมีส่วนเสริมของ Nmap Scripting Engine อยู่ ฉันรู้ว่ามีการตรวจสอบช่องโหว่ smb หนึ่งรายการ - แต่คุณไม่ต้องการใช้สิ่งนั้นโดยเจตนาเพราะมันจะส่งผลต่อเซิร์ฟเวอร์ =)
Wesley

1
คุณต้องใช้ nmap กับแฟล็ก "-sV -p 139" เพื่อรับรายละเอียด daemon เช่น. Samba smbd 3.X (เวิร์กกรุ๊ป: XXXX)
Soviero

0

นี่คือสิ่งที่คุณทำเพื่อดึงเวอร์ชัน SMB:

  1. เปิด Powershell ในฐานะผู้ดูแลระบบ คลิกขวาที่ไอคอนและพูดว่า "open as Administrator"
  2. นำทางไปยัง c: \ ด้วย "cd \" แล้ว "c:"
  3. ตอนนี้คุณจะรันคำสั่ง 2 คำสั่งภายใน 10 วินาทีของแต่ละคนมิฉะนั้น Windows จะปิดพอร์ตโดยไม่ได้ใช้

    3a เรียกใช้ "dir \ SERVERNAME \ C $"

    3b เรียกใช้ "Get-SmbConnection" และคุณ "คอลัมน์ Dialect" เป็นรุ่นของ SMB ของคุณ

  4. ตรวจสอบเมทริกซ์ในลิงค์นี้เพื่อให้แน่ใจว่าระบบปฏิบัติการสอดคล้องกับเวอร์ชั่นของระบบปฏิบัติการที่ถูกต้องหรือคุณจะต้องอัพเกรด SMB ของคุณ

https://blogs.technet.microsoft.com/josebda/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2- 0 SMB-2-1-SMB-3-0 หรือ SMB-3-02-อยู่ที่คุณใช้ /

SMB Stack Matrix

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.