メインメニューを開く

SMBプロトコルのバージョンを調べる

セキュリティ的に「sambaがどのバージョンのプロトコルで接続されているか?」が気になることがあるかと思います。
調べまくってたけど、思い通りの答えにたどり着けなくて、結局はドキュメントを見ることになりました。
なので、ここに上げておきます。

調べる方法

下記コマンドをサーバー側で実行します

sudo smbstatus -b

すると、以下の結果が得られます。

Samba version 4.5.16-Debian
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
12171   username     username     xx.xx.xx.xx    (ipv4:xx.xx.xx.xx:ppp)     SMB3_00           -                    partial(HMAC-SHA256)

今回だと「SMB3.0」で接続されているようです。
(一安心www)

各バージョンについて

ドキュメントによると、各バージョンは以下の様になっているようです。

  • CORE:最古のバージョン。ユーザー名の概念はありません。
  • COREPLUS:効率のためにCOREを少し改良しました。
  • LANMAN1: プロトコルの最初の最新版。長いファイル名のサポート
  • LANMAN2:Lanman1プロトコルを更新しました。
  • NT1:現在のプロトコルの最新バージョン。Windows NTによって使用されます。CIFSとして知られています。
  • SMB2:SMBプロトコルの再実装 Windows Vistaおよびそれ以降のバージョンのWindowsで使用されます。SMB2にはサブプロトコルがあります。
    • SMB2_02:最も初期のSMB2バージョン。
    • SMB2_10:Windows 7 SMB2バージョン。
    • SMB2_22:初期のWindows 8 SMB2バージョン。
    • SMB2_24:Windows 8ベータ版SMB2バージョン。
      デフォルトでは、SMB2はSMB2_10を選択します。
  • SMB3:SMB2と同じです。Windows 8で使用されます。SMB3にはサブプロトコルがあります。
    • SMB3_00:Windows 8 SMB3バージョン。(ほとんどがSMB2_24と同じ)
    • SMB3_02:Windows 8.1 SMB3バージョン。
    • SMB3_10:初期のWindows 10テクニカルプレビューSMB3バージョン。
    • SMB3_11:Windows 10テクニカルプレビューSMB3版(たぶん最終版)。
      デフォルトでは、SMB3はSMB3_11を選択します。

参考サイト