web-dev-qa-db-ja.com

リモートホストで有効なSMBのバージョンを確認するにはどうすればよいですか?

私のローカルマシンはWindows 7を実行しています。これはSMBプロトコル(SMB 2.1)の最新リリースバージョンをサポートしています。リモートホストもあり、どのオペレーティングシステムまたはSMBかわかりません。 -サポートソフトウェアがそのリモートホストにインストールされています。リモートホストがsomeバージョンのSMBプロトコルをサポートしていることを知っています。

Windows 7マシンのコマンドプロンプト(またはPowerShell)から、そのリモートホストでサポートされているSMBのバージョン)を確認するにはどうすればよいですか?

編集:上記のWindows 7について言及しましたが、この質問は多くのシステム/ネットワーク管理者またはデスクトップサポート担当者に関連していると確信しています。

11
Kal

Windows 8以降では、powershellコマンドGet-SmbConnectionを使用して、接続ごとにどのSMBバージョンが使用されているか)を確認できます。

3
jortiexx

最も簡単な方法は WireShark をインストールしてパケットをキャプチャすることです。パケットをデコードし、プロトコルバージョンを表示します。 wikiにSMBv2エントリ があるため、WireSharkの最新バージョンはパケットキャプチャでデコードする必要があります。

3
rmalayter

リモートホストのSMBバージョンを判別するには、2つの考えられる方法があります。

最初のは、Telnetを使用してバナーを取得することです。それでも、何かの使用が戻ってくるとは限りません。 SMBサーバーの1つに正常に接続できますが、有用なバナー情報を取得できません。

は、ネットワークセキュリティスキャナーを使用してネットワーク経由で システムのフィンガープリント を実行します。 SMBのどのバージョンが実行されているかを判断することで成功が保証されないため、適切なツールの考えを検索する必要があります。たとえば、nmapでクイックスキャンを使用しただけです私のネットワーク上(Microsoftが実行していることがわかっているSMBいくつかのエンドポイントで実行)であり、どのバージョンのSMBが実行されているか)に関する適切な情報が得られません。

1
Wesley

SMB versionをプルするには、次のようにします。

  1. 管理者としてPowershellを開きます。アイコンを右クリックして、「管理者として開く」と言います。
  2. 「cd \」、次に「c:」でc:\に移動します
  3. 次に、2つのコマンドを互いに10秒以内に実行するか、Windowsがポートを未使用として閉じます。

    3a。 「dir\SERVERNAME\C $」を実行します

    3b。 「Get-SmbConnection」を実行すると、「Dialect」列がSMBのバージョンになります。

  4. このリンクのマトリックスをチェックして、OSが正しいOSバージョンに対応していることを確認してください。そうでない場合は、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-or-smb-3-02-are-you-using /

SMBスタックマトリックス

0
Steve C