Na moim komputerze lokalnym działa system Windows 7, który obsługuje najnowszą wersję protokołu SMB (SMB 2.1). Mam także hosta zdalnego i nie wiem, jaki system operacyjny lub oprogramowanie obsługujące SMB jest zainstalowane na tym hoście; Wiem tylko, że zdalny host obsługuje niektóre wersje protokołu SMB.
Jak mogę dowiedzieć się z wiersza poleceń (lub programu PowerShell) mojego komputera z systemem Windows 7, która wersja SMB jest obsługiwana przez ten zdalny host?
Edycja: chociaż wspominam o systemie Windows 7 powyżej, jestem pewien, że to pytanie dotyczy wielu administratorów systemu / sieci lub personelu wsparcia pulpitu, dlatego zamieszczam pytanie tutaj zamiast na stronie superuser.com.
Odpowiedzi:
Najprostszym sposobem jest instalacja WireShark i przechwytywanie pakietów, rozszyfruje je i wyświetli wersję protokołu. Mają wpis SMBv2 na swojej wiki , więc najnowsza wersja WireShark powinna go zdekodować podczas przechwytywania pakietów.
źródło
W systemie Windows 8 i nowszym możesz użyć polecenia powerhsell,
Get-SmbConnection
aby sprawdzić, która wersja SMB jest używana dla każdego połączenia.źródło
Istnieją tylko dwa możliwe sposoby określenia wersji SMB zdalnego hosta.
Pierwszym jest przechwycenie banera za pomocą telnetu. Nawet wtedy nie masz gwarancji, że coś przydatnego wróci. Mogę z powodzeniem połączyć się z jednym z moich serwerów SMB, ale nie otrzymuję żadnych przydatnych informacji na temat banerów.
Drugim jest pobranie odcisków palców systemu przez sieć za pomocą skanera bezpieczeństwa sieci. Będziesz musiał znaleźć dobrą myśl dotyczącą narzędzia, ponieważ nadal nie masz gwarancji sukcesu przy ustalaniu, która wersja SMB działa. Na przykład właśnie użyłem szybkiego skanowania za pomocą nmap w mojej sieci (wiem, że działa Microsoft SMB na kilku punktach końcowych) i nie otrzymuję żadnych istotnych informacji o tym, która wersja SMB jest uruchomiona.
źródło
Oto, co robisz, aby pobrać wersję SMB:
Teraz uruchomisz 2 polecenia w ciągu 10 sekund od siebie, w przeciwnym razie system Windows zamknie porty jako nieużywane.
3a. Uruchom „katalog \ NAZWA SERWERA \ C $”
3b. Uruchom „Get-SmbConnection”, a kolumna „Dialekt” to wersja Twojego SMB.
https://blogs.technet.microsoft.com/josebda/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2- 0-smb-2-1-smb-3-0-or-smb-3-02-używasz /
Matryca stosu SMB
źródło