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