Udostępnij za pośrednictwem


Bezpośredni protokół SMB hosta przez protokół TCP/IP

W tym artykule opisano sposób kierowania bloku komunikatów serwera (SMB) za pośrednictwem protokołu TCP/IP.

Oryginalny numer KB: 204279

Podsumowanie

System Windows obsługuje ruch związany z udostępnianiem plików i drukarek przy użyciu protokołu SMB bezpośrednio hostowanego w protokole TCP. Protokół SMB 1.0 i starszy ruch CIFS obsługiwał protokół NetBIOS za pośrednictwem protokołu TCP (NBT) obsługiwany przez protokół UDP, ale począwszy od systemów Windows Vista i Windows Server 2008 z protokołem SMB 2.0.2, wymaga protokołu TCP/IP przez port 445. Usunięcie transportu NetBIOS ma kilka zalet, w tym:

  • Upraszczanie transportu ruchu SMB.
  • Usuwanie usług WINS i NetBIOS rozgłaszanych jako środka rozpoznawania nazw.
  • Standaryzacja rozpoznawania nazw w systemie DNS na potrzeby udostępniania plików i drukarek.
  • Usuwanie mniej bezpiecznego protokołu NetBIOS jako metody ataku

Jeśli włączone są zarówno bezpośrednie interfejsy hostowane, jak i NBT, obie metody są wypróbowane w tym samym czasie, a pierwsza odpowiedź jest używana. Ten mechanizm umożliwia systemowi Windows prawidłowe działanie z systemami operacyjnymi, które nie obsługują bezpośredniego hostowania ruchu SMB.

Więcej informacji

Usługa NetBIOS za pośrednictwem protokołu TCP tradycyjnie używa następujących portów:

  • NBName: 137/UDP
  • NBName: 137/TCP
  • NBDatagram: 138/UDP
  • NBSession: 139/TCP

Bezpośredni ruch SMB bez protokołu NetBIOS używa portu 445 (TCP). W takiej sytuacji nagłówek czterech bajtów poprzedza ruch SMB. Pierwszy bajt tego nagłówka jest zawsze 0x00, a następne 3 bajty to długość pozostałych danych.

Wykonaj poniższe kroki, aby wyłączyć usługę NetBIOS za pośrednictwem protokołu TCP/IP. Ta procedura wymusza kierowanie ruchu SMB przez cały ruch SMB. Pamiętaj, aby zaimplementować to ustawienie, ponieważ powoduje, że komputer z systemem Windows nie może komunikować się z wcześniejszymi systemami operacyjnymi przy użyciu ruchu SMB:

  1. Wybierz pozycję Start, wskaż pozycję Ustawienia, a następnie wybierz pozycję Sieć i połączenie telefoniczne.
  2. Kliknij prawym przyciskiem myszy pozycję Połączenie lokalne, a następnie wybierz pozycję Właściwości.
  3. Wybierz pozycję Protokół internetowy (TCP/IP), a następnie wybierz pozycję Właściwości.
  4. Wybierz opcję Zaawansowane.
  5. Wybierz kartę WINS , a następnie wybierz pozycję Wyłącz netBIOS za pośrednictwem protokołu TCP/IP.

Można również wyłączyć netBIOS za pośrednictwem protokołu TCP/IP przy użyciu serwera DHCP, który ma opcję specyficzną dla dostawcy firmy Microsoft skonfigurowaną do kodu 1, Wyłącz netBIOS za pośrednictwem protokołu TCP/IP. Ustawienie tej opcji na wartość 2 powoduje wyłączenie sieci NBT. Aby uzyskać więcej informacji na temat korzystania z tej metody, zobacz plik Pomocy serwera DHCP w systemie Windows.

Aby ustalić, czy funkcja NetBIOS za pośrednictwem protokołu TCP/IP jest włączona na komputerze z systemem Windows, uruchom polecenie net config redirector lub net config server w wierszu polecenia. Dane wyjściowe zawierają powiązania dla urządzenia NetbiosSmb (czyli transportu bez protokołu NetBIOS) i urządzenia NetBT_Tcpip (czyli NetBIOS za pośrednictwem transportu TCP). Na przykład następujące przykładowe dane wyjściowe pokazują zarówno bezpośrednie hostowane, jak i transport NBT powiązany z kartą:

Workstation active on
NetbiosSmb (000000000000)
NetBT_Tcpip_{610E2A3A-16C7-4E66-A11D-A483A5468C10} (02004C4F4F50)
NetBT_Tcpip_{CAF8956D-99FB-46E3-B04B-D4BB1AE93982} (009027CED4C2)

NetBT_Tcpip jest powiązana z każdą kartą pojedynczo. Wystąpienie NetBT_Tcpip jest wyświetlane dla każdej karty sieciowej, z którą jest powiązana. NetbiosSmb jest urządzeniem globalnym i nie jest powiązany z jedną kartą. Dlatego bezpośrednie hostowane protokół SMB nie może być wyłączony w systemie Windows, chyba że całkowicie wyłączysz udostępnianie plików i drukarek dla sieci Microsoft Networks.