Udostępnij za pośrednictwem


Określanie zestawu przełączania

Zestaw przekazywania określa protokoły, które są zgodne z protokołem. Analizator używa zestawu przekazywania tylko wtedy, gdy analizator może zidentyfikować następny protokół z danych w wystąpieniu protokołu.

Na przykład protokół TCP ma właściwość portu, która identyfikuje protokół zgodny z protokołem TCP. Wartość właściwości 20 wskazuje, że następnym protokołem jest FTP. Wartość właściwości 53 wskazuje, że następnym protokołem jest DNS. Ponieważ właściwość portu identyfikuje protokół następujący po niej, analizator TCP może użyć poniższego zestawu przekazywania, aby uzyskać uchwyt dla protokołu określonego przez właściwość portu.

[TCP_HandoffSet]
  20    = FTP
  21    = FTP
  23    = TELNET
  25    = SMTP
  53    = DNS
  79    = FINGER
  80    = HTTP
  102   = ISO
  111   = RPC
  119   = NNTP
  137   = NBT, 1000
  138   = NBT, 1002
  139   = NBT, 1001
  389   = LDAP
  445   = NBT, 1001
  515   = LPR
  612   = HMMP
  613   = HMMP
  1024  = NBT, 1001
  1047  = NBT, 1001
  1362  = TDS
  1433  = TDS
  1723  = PPTP
  3020  = NBT, 1001
  3268  = LDAP
  5678  = PPTP

Zestawy przekazywania są przechowywane w pliku INI analizatora. Na przykład powyższy zestaw przekazywania TCP znajduje się w pliku tcpip.ini. Należy pamiętać, że jeśli biblioteka DLL analizatora obsługuje wiele protokołów, każdy analizator używający zestawu przekazywania ma własną lokalizację w pliku INI.

Informacje o zestawie przekazywania są określane podczas implementacji funkcji ParserAutoInstallInfo. Analizator może określać protokoły poprzedzające protokół analizatora oraz protokoły, które są zgodne z protokołem analizatora. Usługa Network Monitor przyjmuje wszystkie powyższe protokoły i dodaje protokół analizatora do następujących sekcji pliku INI analizatora — dla każdego poprzedniego protokołu. Usługa Network Monitor przechowuje listę protokołów, które następują w sekcji zestawu przekazywania pliku INI analizatora.

Network Monitor przechowuje informacje o zestawie przekazywania w pliku INI analizatora, ale analizator nie uzyskuje do nich bezpośredniego dostępu. Aby użyć informacji w zestawie przekazań, analizator wywołuje funkcję CreateHandoffTable w celu utworzenia tabeli przekazań. Zazwyczaj tabela przekazywania jest tworzona, gdy analizator rejestruje protokół. Po zarejestrowaniu protokołu, Monitor Sieci tworzy tablicę przekazywania danych, której może używać analizator.

Analizator używa zestawu przekazywania podczas rozpoznawania danych. Najpierw analizator odczytuje wartość właściwości, która identyfikuje następny protokół. Następnie analizator wywołuje GetProtocolFromTable, aby uzyskać dojście do następnego protokołu. Na koniec analizator zwraca wskaźnik do uchwytu w parametrze phNextProtocol funkcji RecognizeFrame.