私のローカルマシンはWindows 7を実行しています。これはSMBプロトコル(SMB 2.1)の最新リリースバージョンをサポートしています。リモートホストもあり、どのオペレーティングシステムまたはSMBかわかりません。 -サポートソフトウェアがそのリモートホストにインストールされています。リモートホストがsomeバージョンのSMBプロトコルをサポートしていることを知っています。
Windows 7マシンのコマンドプロンプト(またはPowerShell)から、そのリモートホストでサポートされているSMBのバージョン)を確認するにはどうすればよいですか?
編集:上記のWindows 7について言及しましたが、この質問は多くのシステム/ネットワーク管理者またはデスクトップサポート担当者に関連していると確信しています。
Windows 8以降では、powershellコマンドGet-SmbConnection
を使用して、接続ごとにどのSMBバージョンが使用されているか)を確認できます。
最も簡単な方法は WireShark をインストールしてパケットをキャプチャすることです。パケットをデコードし、プロトコルバージョンを表示します。 wikiにSMBv2エントリ があるため、WireSharkの最新バージョンはパケットキャプチャでデコードする必要があります。
リモートホストのSMBバージョンを判別するには、2つの考えられる方法があります。
最初のは、Telnetを使用してバナーを取得することです。それでも、何かの使用が戻ってくるとは限りません。 SMBサーバーの1つに正常に接続できますが、有用なバナー情報を取得できません。
秒は、ネットワークセキュリティスキャナーを使用してネットワーク経由で システムのフィンガープリント を実行します。 SMBのどのバージョンが実行されているかを判断することで成功が保証されないため、適切なツールの考えを検索する必要があります。たとえば、nmapでクイックスキャンを使用しただけです私のネットワーク上(Microsoftが実行していることがわかっているSMBいくつかのエンドポイントで実行)であり、どのバージョンのSMBが実行されているか)に関する適切な情報が得られません。
SMB versionをプルするには、次のようにします。
次に、2つのコマンドを互いに10秒以内に実行するか、Windowsがポートを未使用として閉じます。
3a。 「dir\SERVERNAME\C $」を実行します
3b。 「Get-SmbConnection」を実行すると、「Dialect」列がSMBのバージョンになります。