Linuxで使用されているSMB接続と方言を確認するには?

Linuxで使用されているSMB接続と方言を確認するには?

SMB接続で方言バージョンを確認したいです。

WindowsではGet-SmbConnection入手できます。

PS C:\Windows\system32> Get-SmbConnection
ServerName    ShareName     UserName     Credential   Dialect      NumOpens
----------    ---------     --------     ----------   -------      -------
savdal08r2    c$            SAVILLTEC... SAVILLTEC... 2.10         1
savdalfs01    c$            SAVILLTEC... SAVILLTEC... 3.00         1

macOSでは smbutil statshares -aうまく機能します。

Linuxでは何をすべきですか?

答え1

LinuxでSambaサーバーを実行している場合は、各クライアントが使用しているsmbstatusプロトコルバージョンを表示する必要があります。

Linuxがクライアントの場合は、使用しているクライアントによって異なります。カーネルレベルのcifsファイルシステムサポートを使用している場合、かなり新しいカーネルを除くすべてのカーネルで答えは、ファイルシステムの/proc/mountsマウントオプションを調べることです。システムには以下が含まれます。オプションvers=でない場合は、SMB 1を使用すると見なされます。

カーネルレベルのCIFS / SMBサポートのSMBプロトコル自動ネゴシエーションは最近開発されており、私が知っている限り必要なプロトコルバージョンを指定しない場合、自動ネゴシエーションはCIFSデバッグメッセージが有効になっている場合にのみ結果を示します。 。しかし幸いにも開発者たちがそうしたので交渉の結果はいつも現れるようにする/proc/mounts

他のユーザースペースSMB / CIFSクライアント(デスクトップ環境に統合されたクライアントなど)を使用している場合は、smbclient独自のツールと診断機能がある可能性があります。

答え2

nmapに付属のスクリプトを使用できます。 nmap / Zenmap(GUI)を使用すると、単一のデバイスまたはさまざまなサブネット(ホームまたはオフィスネットワーク)をスキャンして、使用しているSMBプロトコルを表示できます。

nmap --script smb-protocols 192.168.1.0/24

ここで最も重要なポイントはSMBv1を無効にする安全上の問題のため。 「とも言われています。NT$LM 0.12'Zenmapはほとんどの主要プラットフォームで利用可能です。

答え3

使用smbstatus>>

https://www.samba.org/samba/docs/current/man-html/smbstatus.1.html

出力例:

[root@server~]# smbstatus --shares

Service      pid     Machine       Connected at                     Encryption   Signing
---------------------------------------------------------------------------------------------
PubRO        26900   192.168.1.255 Thu Oct 25 12:43:51 AM 2018 PDT  -            -

関連情報