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잘 작동합니다 .

리눅스에서는 무엇을 해야 합니까?

답변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  -            -

관련 정보