Указание набора раздаток

Набор раздаток задает протоколы, которые соответствуют протоколу. Средство синтаксического анализа использует набор передачи, только если средство синтаксического анализа может определить следующий протокол из данных в экземпляре протокола.

Например, протокол TCP имеет свойство порта, определяющее протокол, который следует протоколу TCP. Значение свойства 20 указывает, что следующий протокол — FTP. Значение свойства 53 указывает, что следующий протокол — DNS. Так как свойство порта идентифицирует следующий протокол, средство синтаксического анализа TCP может использовать следующий набор раздаток, чтобы получить дескриптор протокола, который указывает свойство порта.

[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

Наборы передачи хранятся в файле INI синтаксического анализатора. Например, предыдущий набор передачи TCP находится в файле tcpip.ini. Обратите внимание, что если библиотека DLL синтаксического анализа поддерживает несколько протоколов, каждый анализатор, использующий набор передачи управления, имеет собственное расположение в файле INI.

Сведения о передающем наборе указываются во время реализации функции ParserAutoInstallInfo. Средство синтаксического анализа может указать протоколы, предшествующие протоколу синтаксического анализа, и протоколы, следующие за протоколом синтаксического анализа. Сетевой монитор принимает все протоколы, предшествующие протоколу, и добавляет протокол синтаксического анализа в следующие разделы ini-файла синтаксического анализа для каждого предыдущего протокола. Сетевой монитор хранит список протоколов, которые указаны в разделе "установки передачи" файла INI анализатора.

Сетевой монитор сохраняет информацию о наборе хэндов в INI-файле парсера, однако парсер не обращается к INI-файлам напрямую. Чтобы использовать информацию в наборе хэндовера, средство синтаксического анализа вызывает функцию CreateHandoffTable для создания таблицы хэндовера. Как правило, таблица переключения создается при регистрации протокола парсером. После регистрации протокола монитор сети создает таблицу маршрутизации, которую может использовать парсер.

Средство синтаксического анализа использует набор передачи при распознавании данных. Сначала средство синтаксического анализа считывает значение свойства, определяющего следующий протокол. Затем парсер вызывает GetProtocolFromTable, чтобы получить дескриптор следующего протокола. Наконец, средство синтаксического анализа возвращает указатель на дескриптор в параметре phNextProtocolRecognizeFrame.