Especificando um conjunto de entrega
Um conjunto de entrega especifica os protocolos que seguem um protocolo. O analisador usa um conjunto de entregas somente quando o analisador pode identificar o próximo protocolo dos dados em uma instância de protocolo.
Por exemplo, o protocolo TCP tem uma propriedade de porta que identifica o protocolo que segue o protocolo TCP. Um valor de propriedade de 20 indica que o próximo protocolo é FTP. Um valor de propriedade de 53 indica que o próximo protocolo é DNS. Como a propriedade port identifica o protocolo a seguir, o analisador TCP pode usar o conjunto de entrega a seguir para obter um identificador para o protocolo especificado pela propriedade de porta.
[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
Os conjuntos de entrega são armazenados no arquivo INI do analisador. Por exemplo, o conjunto de entrega TCP anterior está localizado em tcpip.ini arquivo. Observe que, se uma DLL de analisador der suporte a vários protocolos, cada analisador que usa um conjunto de entregas terá seu próprio local no arquivo INI.
As informações do conjunto de entrega são especificadas durante a implementação da função ParserAutoInstallInfo . O analisador pode especificar os protocolos que precedem o protocolo do analisador e os protocolos que seguem o protocolo do analisador. O Monitor de Rede usa todos os protocolos que precedem e adiciona o protocolo do analisador às seções de conjunto a seguir do arquivo INI do analisador – para cada protocolo anterior. O Monitor de Rede armazena a lista de protocolos a seguir na seção conjunto de entregas do arquivo INI do analisador.
O Monitor de Rede armazena as informações do conjunto de entrega no arquivo INI do analisador, mas o analisador não acessa os arquivos INI diretamente. Para usar as informações no conjunto de entregas, o analisador chama a função CreateHandoffTable para criar uma tabela de entrega. Normalmente, a tabela de entrega é criada quando o analisador registra o protocolo. Depois que o protocolo é registrado, o Monitor de Rede cria uma tabela de conjunto de entregas que o analisador pode usar.
O analisador usa seu conjunto de entrega ao reconhecer dados. Primeiro, o analisador lê o valor da propriedade que identifica o próximo protocolo. Em seguida, o analisador chama GetProtocolFromTable para obter um identificador para o próximo protocolo. Por fim, o analisador retorna um ponteiro para o identificador no parâmetro phNextProtocol de RecognizeFrame.