Como capturar e inspecionar pacotes de rede no Windows Server

Conteúdo

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 o que foi acontecido por Microsoft Message Analyzer. Infelizmente, Microsoft ha descontinuado Microsoft Message Analyzer y ha eliminado sus links de descarga. Hoje em dia, apenas o Microsoft Network Monitor mais antigo está habilitado.

De qualquer forma, você pode usar ferramentas de terceiros para fazer capturas de rede, como WireShark. Mesmo que algumas ferramentas de terceiros possam oferecer uma experiência melhor, O Monitor de rede da Microsoft ainda está forte. Neste post, veremos como capturar e inspecionar pacotes usando a versão mais recente disponível do Microsoft Network Monitor, uma das ferramentas mais populares que existem.

Mesmo que eu pudesse ter usado o WireShark, Eu descobri que a interface e facilidade de uso do Microsoft Network Monitor, pronto para usar, é muito mais fácil de usar. Muito do mesmo pode ser alcançado no WireShark, mas é possível que você precise fazer muito mais configurações na interface.

Captura de pacotes com monitor de rede Microsoft

Primeiro, precisamos instalar o Microsoft Network Monitor, você pode localizar o download aqui e, em seguida, prossiga para instalá-lo. Depois de instalar o Microsoft Network Monitor, vá em frente e comece o programa. Uma vez iniciado, irá clicar em Nova Captura.

A seguir, você deseja iniciar o monitoramento clicando no botão Iniciar. Isso iniciará instantaneamente a captura e você verá as conversas começarem a aparecer no lado esquerdo.

Se você achar que recebeu uma mensagem de erro dizendo que não há adaptadores emparelhados, então você deve executar o Microsoft Network Monitor como administrador. Ao mesmo tempo, se você acabou de instalar isso, você pode precisar reiniciar.

Um dos grandes benefícios de usar o 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 mergulhar neles..

Expandir qualquer um dos sinais de mais irá mostrar o conjunto específico de “conversas” que o monitor de rede pode ter capturado e agrupado sob um procedimento.

Filtragem de tráfego

Você vai descobrir rapidamente que com todos esses dados entrando, você precisará filtrar o ruído com mais facilidade. Um exemplo de uso de filtro é o DnsAllNameQuery, na seção DNS de Filtros Padrão. Adicionando esta linha à seção de filtro de exibição e clicando em Aplicar, será capaz de mostrar apenas os pacotes que são consultas DNS, como é mostrado a seguir.

Filtros de construção

Criar filtros ou modificar os filtros embutidos é muito fácil. Dentro do campo Filtro de exibição, existem várias alternativas para construir filtros. Ao inserir um nome de protocolo e segui-lo por um . (apontar), você verá um preenchimento automático de valores de campo possíveis para comparar. Usando o operador de comparação padrão de == podemos ver se certos valores são iguais. Podemos até criar várias expressões usando operadores lógicos como and e or. Abaixo está um exemplo de como isso se parece.

DNS.QuestionCount AND
DNS.ARecord.TimeToLive == 14

Além disso, existem alguns métodos disponíveis, O que contains() e UINT8(). Você pode ver o uso do método contém abaixo para filtrar apenas os registros DNS que contêm [google.com](http://google.com) e um tempo para viver 14.

DNS.QuestionCount AND
DNS.ARecord.TimeToLive == 14 AND
DNS.QRecord.QuestionName.contains("google.com")

Como você pode ver, existem várias alternativas para combinar filtros para torná-los úteis e convenientes de usar. Esta é uma ótima maneira de retornar apenas os dados de seu interesse, especialmente porque a captura de pacotes pode ficar muito grande. Na próxima seção, vamos dar uma olhada em alguns exemplos mais úteis.

Filtros de exemplo

Alguns exemplos práticos, além dos construtores padrão, são muito úteis para ajudá-lo a entender como obter apenas os dados úteis de que você precisa.

Filtrado pelo número da porta

Mesmo que seja viável usar o protocolo HTTP para filtrar, Usar o método a seguir permite contar portas personalizadas, O que 8080 o 8443, que é especialmente útil para solução de problemas.

// Filter by TCP Port Number
tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80
tcp.port == 443 OR 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 por ambos, podemos ter certeza de que estamos obtendo todos os dados que procuramos aqui.

Encontre estruturas de negociação SSL

Durante a solução de problemas, você pode precisar entender quais conexões SSL você está tentando negociar. Mesmo que não seja capaz de descriptografar o tráfego interno, isto irá ajudá-lo a encontrar quais servidores a conexão está tentando usar.

// Filter by SSL Handshake
TLS.TlsRecLayer.TlsRecordLayer.SSLHandshake.HandShake.HandShakeType == 0x1

Encontre retransmissões TCP e retransmissões SYN

Para corrigir problemas de upload e download de arquivos, você pode ver se há muitas retransmissões ocorrendo que podem afetar o desempenho.

Property.TCPRetransmit == 1 || Property.TCPSynRetransmit == 1

Certifique-se de que as conversas estão ativadas, este filtro depende dessa funcionalidade.

Lendo frames e dados hexadecimais

Por padrão, o layout da janela tem dois painéis inferiores dedicados aos detalhes do quadro e aos detalhes hexadecimais. Detalhes dentro da moldura, cada pacote é dividido em suas partes componentes. No lado oposto estão os detalhes hexadecimais, o que são bytes brutos e decodificação. Ao escolher uma seção diferente dentro dos detalhes do quadro, também a mesma seção será destacada dentro do código hexadecimal.

conclusão

O monitoramento de rede é muito fácil com a versão mais recente do Windows. Mesmo que a Microsoft tenha optado por descontinuar ou preterir suas ferramentas criadas internamente, alguns ainda prosperam. Há muitos outros, como WireShark, mas o Microsoft Network Monitor ainda torna muito fácil analisar e entender as informações do pacote que é capturado.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.