web-dev-qa-db-ja.com

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

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では何をすべきですか?

5
maP1E bluE

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

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

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

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

4
telcoM

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  -            -
1

Nmapに付属のスクリプトを使用できます。 nmap/Zenmap(GUI)を使用すると、単一のデバイスまたはサブネット範囲(自宅またはオフィスのネットワーク)をスキャンして、使用中のSMBプロトコルが何であるかを示すことができます。

nmap --script smb-protocols 192.168.1.0/24

ここでの重要な点は、セキュリティ上の懸念からSMBv1の使用をやめるです。 「NT LM 0.12」とも呼ばれますZenmapは、ほとんどの主要なプラットフォームで使用できます。

0
cdplayer