SMB – How to Find SMB Version Enabled on Remote Host

server-message-blockwindows

My local machine is running Windows 7, which supports the latest released version of the SMB protocol (SMB 2.1). I also have a remote host, and I don't know what operating system or SMB-support software is installed on that remote host; I only know that the remote host supports some version of the SMB protocol.

How can I find out, from the command prompt (or PowerShell) of my Windows 7 machine, what version of SMB is supported by that remote host?

Edit: although I mention Windows 7 above, I'm sure that this question is relevant to many system/network administrators or desktop support personnel, hence why I'm posting the question here instead of at superuser.com.

Best Answer

https://nmap.org/nsedoc/scripts/smb-protocols.html

Example Usage

nmap -p445 --script smb-protocols <target>
nmap -p139 --script smb-protocols <target>