Considerações de programação (Monitor de rede)
Este tópico contém informações de programação. A lista a seguir identifica algumas dicas de programação para ajudá-lo a escrever um analisador.
Dica | Descrição |
---|---|
Instalação automática do analisador | Implemente a funçãoParserAutoInstallInfo para instalar automaticamente o analisador e atualizar os arquivos INI associados. Se você instalar o analisador manualmente, deverá atualizar todos os arquivos INI associados manualmente. |
Propriedades do protocolo de análise | Implemente a funçãoAttachProperties para analisar as propriedades do protocolo. Evite usar a funçãoAttachPropertyInstanceExao anexar uma instância de propriedade e use-a apenas para dados não alinhados a bytes ou dados que devem ser decodificados. Anexar propriedades significa mapear uma instância de propriedade para um local específico numa captura. |
Protocolos de análise divididos entre quadros | Suponha que cada parte do protocolo está completa dentro de um quadro e suponha que o usuário chama a ferramenta Protocol Coalesce para combinar as partes em um protocolo. Não olhe para trás para um quadro anterior ao analisar um protocolo e evite tentar reconstruir um protocolo que é dividido entre quadros. |
Formatar dados exibidos | Chame a função FormatPropertyInstance para usar o formatador genérico e formatar os dados exibidos no painel de detalhes da UI do Monitor de Rede. Evite escrever um formatador personalizado para dados de exibição na interface. No entanto, pode chamar um formatador personalizado para criar uma linha de propriedade de resumo para o protocolo que está a analisar. |
Usando o CCAlloc | Use CCAlloc quando quiser que o Monitor de Rede aloque dados por captura. O Monitor de Rede não especifica a ordem em que os frames chamam o analisador. |
Mantendo um analisador sem estado | Mantenha a operação do analisador sem estado porque, quando o Monitor de Rede analisa uma captura, ele não passa os quadros para o analisador numa ordem específica. Por esse motivo, é recomendável que você não retenha dados globais. |