Como capturar e inspecionar pacotes de rede no Windows Server
Ao solucionar problemas complicados de conexão ou aplicativo, pode ser muito útil ver o que está sendo transmitido pela rede. A Microsoft originalmente ofereceu o Microsoft Network Monitor, que foi sucedido pelo Microsoft Message Analyzer. Infelizmente, a Microsoft interrompeu o Microsoft Message Analyzer e removeu seus links de download. Atualmente, apenas o Microsoft Network Monitor mais antigo está disponível.
Obviamente, você pode usar ferramentas de terceiros para realizar capturas de rede, como o WireShark. Embora algumas ferramentas de terceiros possam oferecer uma experiência melhor, o Microsoft Network Monitor ainda é válido. Neste artigo, veremos como capturar e inspecionar pacotes usando a última versão disponível do Microsoft Network Monitor, uma das ferramentas mais populares do mercado.
Embora eu pudesse ter usado o WireShark, descobri que a interface e a usabilidade do Microsoft Network Monitor, prontas para uso, são muito mais fáceis de usar. Muito do mesmo pode ser realizado no WireShark, mas talvez você precise fazer muito mais configuração na interface.
Capturando pacotes usando o Microsoft Network Monitor
Primeiro, precisamos instalar o Microsoft Network Monitor, você pode localizar o download aqui e prosseguir com a instalação. Depois de instalar o Microsoft Network Monitor, vá em frente e inicie o programa. Uma vez iniciado, você clicará em Nova captura.
Visualizando a página inicial
Em seguida, você deseja iniciar o monitoramento clicando no botão Iniciar. Isso iniciará instantaneamente a captura e você verá as conversas começando a aparecer no lado esquerdo.
Visualizando uma nova tela de captura antes de começar a capturar
Se você receber uma mensagem de erro informando que nenhum adaptador está vinculado, execute o Microsoft Network Monitor como administrador. Além disso, se você acabou de instalar isso, pode ser necessário reiniciar.
Um dos grandes benefícios do uso do Microsoft Network Monitor é que ele agrupa suas conversas de rede com muita facilidade no lado esquerdo. Isso torna muito mais fácil encontrar processos específicos e depois mergulhá-los.
Visualizando conversas na rede
A expansão de qualquer um dos sinais de adição mostrará o conjunto específico de "conversas" que o monitor de rede pode ter capturado e agrupado em um processo.
Filtrando tráfego
Você descobrirá rapidamente que, com todos esses dados chegando, será necessário filtrar com mais facilidade o ruído. Um exemplo de uso de um filtro é o DnsAllNameQuery, na seção DNS dos Filtros padrão. Adicionando esta linha à seção de filtro de exibição e clicando em Aplicar, você poderá exibir apenas os pacotes que são consultas de DNS, como abaixo.
Visualizando o filtro DnsAllNameQuery
Filtros de construção
Criar filtros ou modificar os filtros internos é muito fácil. Dentro do campo Filtro de exibição, existem várias maneiras de construir filtros. Digitando um Nome de Protocolo e seguindo por um. (período), você verá um preenchimento automático dos possíveis valores de campo para comparar. Usando o operador de comparação padrão de ==, podemos ver se certos valores são iguais. Podemos até criar multi-expressões usando operadores lógicos como e e ou. Um exemplo de como isso é mostrado abaixo.
DNS. QuestionCount AND DNS. ARecord. TimeToLive == 14
Existem também alguns métodos disponíveis, como contains () e UINT8 (). Você pode ver usando o método contains abaixo para filtrar apenas os registros DNS que contêm [google. com] (http://google. com) e um TimeToLive de 14.
DNS. QuestionCount AND DNS. ARecord. TimeToLive == 14 AND DNS. QRecord. QuestionName. contains ("google. com")
Como você pode perceber, existem várias maneiras de combinar filtros para torná-los úteis e convenientes de usar. Essa é uma ótima maneira de retornar apenas os dados de seu interesse, principalmente porque a captura de pacotes pode se tornar bastante grande. Na próxima seção, veremos alguns exemplos mais úteis.
Exemplos de filtros
Alguns exemplos práticos, além dos padrões internos, ajudam bastante a entender como obter apenas os dados úteis necessários.
Filtrando por número da porta
Embora seja possível usar o protocolo HTTP para filtrar, o método a seguir permite contabilizar portas personalizadas, como 8080 ou 8443, o que é especialmente útil na solução de problemas.
// Filtrar pelo número da porta TCP tcp. port == 80 OR Payloadheader. LowerProtocol. port == 80 tcp. port == 443 OU Payloadheader. LowerProtocol. port == 443
Os quadros TCP que foram fragmentados são remontados e inseridos em um novo quadro no rastreamento que contém um cabeçalho especial chamado Payloadheader. Ao procurar pelos dois, podemos garantir que estamos recebendo todos os dados que procuramos aqui.
Encontre quadros de negociação SSL
Durante a solução de problemas, talvez você precise entender quais conexões SSL estão tentando ser negociadas. Embora você não consiga descriptografar o tráfego interno, isso ajudará a encontrar quais servidores a conexão está tentando usar.
// Filtrar por SSL Handshake TLS. TlsRecLayer. TlsRecordLayer. SSLHandshake. HandShake. HandShakeType == 0x1
Encontre retransmissões TCP e retransmissões SYN
Para solucionar problemas de upload e download de arquivos, verifique se estão ocorrendo muitas retransmissões que podem afetar o desempenho.
Property. TCPRetransmit == 1 || Property. TCPSynRetransmit == 1
Certifique-se de ter as conversas ativadas, esse filtro depende dessa funcionalidade.
Lendo quadros e dados hexadecimais
Por padrão, o layout da janela tem dois painéis inferiores dedicados a Detalhes do quadro e Detalhes hexagonais. Dentro dos Detalhes do quadro, cada pacote é dividido em suas partes componentes. No lado oposto, estão os Detalhes hexadecimais, que são os bytes brutos e a decodificação. Conforme você seleciona uma seção diferente nos detalhes do quadro, a mesma seção no código Hex também será destacada.
Visualizando detalhes do quadro e os dados hexadecimais brutos
Conclusão
A execução de rastreamentos de rede é muito fácil com a versão mais recente do Windows. Embora a Microsoft tenha optado por interromper ou descontinuar suas ferramentas criadas internamente, algumas ainda prosperam. Existem muitos outros, como o WireShark, mas o Microsoft Network Monitor ainda facilita bastante a análise e a compreensão das informações de pacote capturadas.
Via: How to Geek
Nenhum comentário