Apresentando o tcpdump

Laboratório 1 hora universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Introdução

Neste laboratório, você conhecerá o tcpdump e alguns recursos dele. O tcpdump é a principal ferramenta de análise de rede para profissionais de segurança da informação e redes. Como especialista em suporte de TI, ter um bom domínio desse aplicativo é essencial para entender o TCP/IP. O tcpdump mostra o tráfego da rede de uma maneira que facilita a análise e a solução de problemas.

Você terá 60 minutos para fazer todas as tarefas.

Atividades deste laboratório

  • Noções básicas sobre os comandos: você aprenderá a usar o tcpdump, verá a função de algumas sinalizações dele e saberá como interpretar as respostas.
  • Captura de pacotes: você fará exercícios para salvar e ler capturas de pacotes em arquivos.

Em algumas partes deste laboratório, você precisará de mais de um terminal aberto ao mesmo tempo. Por isso, mantenha outro terminal de conexão aberto. Assim, você poderá acessar uma VM via SSH mais de uma vez.

Configuração do laboratório

Exoneração de responsabilidade: para ter o melhor desempenho e garantir a compatibilidade, recomendamos acessar os laboratórios nos navegadores Google Chrome ou Mozilla Firefox.

Começar o laboratório

É preciso começar o laboratório antes de acessar os materiais no SO da máquina virtual. Para fazer isso, clique no botão "Começar o laboratório" na parte de cima da tela.

Observação: para este laboratório, você precisa acessar a VM do Linux pelo cliente SSH local, e não pelo console do Google (o botão Abrir Console do Google Cloud Platform não está disponível neste laboratório).

Começar o laboratório

Depois de clicar no botão "Começar o laboratório", você verá todos os detalhes da conexão SSH no lado esquerdo. A tela será assim:

Detalhes da conexão

Como acessar a máquina virtual

Escolha uma das três opções relevantes abaixo de acordo com o sistema operacional do dispositivo.

Observação: trabalhar com o Qwiklabs é semelhante ao seu trabalho como especialista em suporte de TI. Você interage com uma tecnologia de última geração que exige várias etapas de acesso e um pouco de paciência e persistência. Além disso, você vai usar o SSH para entrar nos laboratórios: uma habilidade fundamental na área de suporte de TI que você poderá praticar nos laboratórios.

Opção 1: conexão com a VM para usuários do Windows

Nesta seção, você vai usar o cliente Secure Shell (SSH) PuTTY e o endereço IP externo da VM para se conectar.

Download do arquivo de chave PPK

Você pode baixar o arquivo de chave privada da VM no formato PPK compatível com PuTTY na página inicial do laboratório no Qwiklabs. Clique em Baixar o PPK.

PPK

Conexão com a VM por SSH e PuTTY

  1. Você pode baixar a ferramenta PuTTY aqui.

  2. Na caixa Host Name (or IP address), digite username@external_ip_address.

Observação: substitua username e external_ip_address pelos valores indicados no laboratório.

Putty_1

  1. Na lista Connection, abra SSH.

  2. Em seguida, abra Auth clicando no ícone +.

  3. Agora, selecione Credentials na lista Auth.

  4. Na caixa Private key file for authentication, procure o arquivo PPK salvo e clique nele duas vezes.

  5. Clique no botão Open.

Observação: importe o arquivo PPK para a ferramenta PuTTY usando a opção "Browse" disponível nela. Não abra esse arquivo diretamente. Ele só pode ser usado com o PuTTY.

Putty_2

  1. Clique em Yes quando for solicitada a permissão para se conectar pela primeira vez a esse servidor SSH remoto. Como você está usando um par de chaves para a autenticação, não será solicitada uma senha.

Problemas comuns

Se a ferramenta PuTTY não conseguir se conectar à VM Linux, confira se:

  • você digitou <username>@<external ip address> no PuTTY;
  • você baixou o novo arquivo PPK específico a este laboratório no Qwiklabs;
  • você está usando o arquivo PPK salvo no PuTTY.

Opção 2: conexão com a VM via SSH para usuários de OS X e Linux

Download do arquivo de chave privada da VM

Baixe esse arquivo no formato PEM na página inicial do laboratório do Qwiklabs. Clique em Baixar o PEM.

PEM

Conexão com a VM pelo aplicativo Terminal local

Um terminal é um programa que oferece uma interface de texto para digitar comandos. Nesse caso, você vai usar o terminal como um cliente SSH para se conectar à VM do Linux disponibilizada pelo laboratório.

  1. Abra o aplicativo Terminal.

    • Para abrir o terminal no Linux, use o atalho Ctrl + Alt + T.

    • Para abrir o terminal no Mac (OS X), digite Command + barra de espaço e pesquise por terminal.

  2. Digite os seguintes comandos:

Observação: substitua o caminho/nome do arquivo PEM salvo e as strings username e External IP Address.

É provável que o arquivo PEM esteja na pasta Downloads. Se você não tiver alterado as configurações de download do sistema, o caminho da chave PEM será ~/Downloads/qwikLABS-XXXXX.pem.

chmod 600 ~/Downloads/qwikLABS-XXXXX.pem ssh -i ~/Downloads/qwikLABS-XXXXX.pem nomedeusuário@Endereço IP externo

SSH

Opção 3: conexão com a VM via SSH para usuários do ChromeOS

Observação: você não pode estar no modo privado/navegação anônima ao iniciar o aplicativo.

Download do arquivo de chave privada da VM

Baixe esse arquivo no formato PEM na página inicial do laboratório do Qwiklabs. Clique em Baixar o PEM.

PEM

Conexão com a VM

  1. Adicione o Secure Shell ao seu navegador Chrome.

  2. Abra o app Secure Shell e clique em [New Connection].

    new-connection-button

  3. Na seção username, insira o nome de usuário que aparece no painel "Detalhes da conexão" no laboratório. Para a seção hostname, insira o IP externo da instância da sua VM mencionado no painel "Detalhes da conexão" no laboratório.

    username-hostname-fields

  4. Na seção Identity, importe a chave PEM transferida ao clicar no botão Import… ao lado do campo. Escolha sua chave PEM e clique no botão OPEN.

    import-button

Observação: se a chave ainda não estiver disponível após a importação, atualize o aplicativo e selecione-a no menu suspenso Identity.
  1. Depois de enviar sua chave, clique no botão [ENTER] Connect abaixo.

    enter-button

  2. Com qualquer comando, digite yes para continuar.

  3. Você se conectou corretamente à VM do Linux.

Agora está tudo pronto para continuar o laboratório.

Use o tcpdump

Agora você fará algumas tarefas com o tcpdump, desde o uso básico até tópicos um pouco mais avançados.

Uso básico

Primeiro, apresentaremos o tcpdump e executaremos a ferramenta sem qualquer opção. O tcpdump exige privilégios de root ou administrador para capturar o tráfego. Portanto, todos os comandos precisam começar com sudo. No mínimo, é preciso especificar uma interface de detecção com a sinalização -i. Talvez seja interessante verificar o nome da interface de rede primária com o comando ip link. Neste caso, usaremos a interface ens4 em todos os exemplos. No entanto, essa interface não é necessariamente a mesma que você usará na sua máquina.

Para usar o tcpdump a fim de detectar pacotes na interface, digite o comando abaixo.

Aviso: este comando encherá o terminal com um fluxo constante de texto à medida que novos pacotes forem detectados. Ele só será interrompido quando você pressionar Ctrl+C.

sudo tcpdump -i ens4

Isso enviará algumas informações básicas sobre os pacotes detectados diretamente para a resposta padrão. Ele continuará em execução até ser interrompido. Pressione Ctrl+C para parar o fluxo a qualquer momento.

Quando o tcpdump é concluído, ele apresenta um resumo da captura, com o número de pacotes capturados, filtrados ou descartados:

e62459231285086a.png

Por padrão, o tcpdump faz algumas análises de protocolo básicas. Para um estudo mais profundo, use a sinalização -v. Isso ativará a resposta detalhada. A configuração padrão do tcpdump também tenta executar buscas DNS reversas para determinar os nomes de host dos endereços IP e substituir os números de porta pelos nomes dos serviços normalmente associados a elas. Para desativar esse comportamento, use a sinalização -n. É recomendável usar essa opção para acelerar a análise e evitar gerar tráfego adicional nas buscas DNS. Para fazer um teste, digite este comando:

Aviso: este comando encherá o terminal com um fluxo constante de texto à medida que novos pacotes forem detectados. Ele só será interrompido quando você pressionar Ctrl+C.

sudo tcpdump -i ens4 -vn

Você verá uma resposta com mais detalhes sobre cada pacote:

e74637cc70c05cc3.png

Sem a sinalização de resposta detalhada, o tcpdump mostra somente:

  • o protocolo da camada 3, portas e endereços de origem e de destino;
  • detalhes do TCP, como sinalizações, números de sequência e ack, tamanho da janela e opções.

Com a sinalização de resposta detalhada, você também verá todos os detalhes do cabeçalho IP, como Time to Live, número de identificação do IP, além de opções e sinalizações de IP.

Filtros

Veremos um pouco sobre a linguagem de filtros do tcpdump, junto com a análise do protocolo. O tcpdump oferece uma linguagem poderosa para filtrar pacotes. Assim você pode capturar somente o tráfego necessário para a análise. As regras de filtro são inseridas no final do comando, depois de todas as outras sinalizações. Usaremos o filtro para capturar somente o tráfego DNS para um servidor específico. Em seguida, geraremos tráfego DNS para demonstrar a capacidade do tcpdump de interpretar consultas e respostas DNS.

Digite o comando. Ele será executado até você pressionar Ctrl+C, como o comando anterior, mas você não verá a resposta ainda.

sudo tcpdump -i ens4 -vn host 8.8.8.8 and port 53

Vejamos como é a composição desse filtro e o que exatamente ele está fazendo. Host 8.8.8.8 especifica que queremos somente os pacotes em que o endereço IP de origem ou destino corresponde ao que especificamos (neste caso, 8.8.8.8). Para ver somente o tráfego de uma direção, basta adicionar um qualificador correspondente, como dst ou src, para os endereços IP de destino e de origem, respectivamente. Se não houver um qualificador de direção, será usado o tráfego de ambas.

Port 53 significa que queremos somente os pacotes em que a porta de origem ou de destino corresponde à especificada (neste caso, DNS). Essas duas declarações de filtro são unidas com o operador lógico and. Isso significa que as duas partes da declaração de filtro precisam ser verdadeiras para que um pacote seja capturado por ele.

Conecte-se ao second terminal seguindo as instruções fornecidas na seção Accessing the virtual machine. Clique em Accessing the virtual machine no painel de navegação no lado direito e execute este comando:

dig @8.8.8.8 A example.com

A resposta será parecida com esta tela:

e5f29bb1a837ebc6.png

Isso usará o utilitário dig para consultar um servidor DNS específico (neste caso, 8.8.8.8), solicitando o A record do domínio especificado (neste caso, example.com).

No terminal original, você verá dois pacotes capturados, porque as regras de filtro descartarão o restante do tráfego:

b6a4cefaba5b53ef.png

O primeiro é a consulta DNS, que é nossa solicitação (do segundo terminal) direcionada ao servidor. Neste exemplo, o tráfego é UDP. A análise do tcpdump sobre a consulta DNS começa logo após o campo checksum do UDP. Ela começa com o número de identificação do DNS, seguido por algumas opções do UDP e o tipo de consulta (neste caso, A? para indicar que estamos solicitando um A record). Depois temos o nome de domínio em que estamos interessados (example.com).

49bfc7a0a335ca52.png

O segundo pacote é a resposta do servidor, que inclui o mesmo número de DNS da consulta original, seguido por essa própria consulta. Em seguida, é exibida a resposta à consulta, com o endereço IP associado ao nome de domínio.

8df52ed65c9b5f66.png

Agora você pode interromper a sessão do tcpdump no terminal original pressionando Ctrl+C. Deixe a janela do segundo terminal aberta, você precisará dela em breve.

Em seguida, veremos os recursos do tcpdump para gravar e ler capturas de pacotes em arquivos.

Salve pacotes capturados

Em um dos terminais, execute este comando:

sudo tcpdump -i ens4 port 80 -w http.pcap

Isso iniciará uma captura na interface ens4 que filtra somente o tráfego HTTP, especificando a porta 80. A sinalização -w indica que queremos gravar os pacotes capturados em um arquivo chamado http.pcap. Como as outras capturas, o comando será executado até que você o interrompa com Ctrl+C.

Quando ele estiver em execução, volte para o segundo terminal para gerar tráfego HTTP, que será capturado no primeiro terminal. Não interrompa a captura iniciada com o comando anterior. Se tiver feito isso, reinicie essa operação.

Na janela do segundo terminal, execute este comando para gerar tráfego:

curl example.com

Esse comando busca o HTML de example.com e o exibe na tela. A resposta será como o exemplo abaixo. Tenha em mente que só a primeira parte dela é exibida.

d261699311c8cdba.png

Depois disso, feche a janela do segundo terminal e volte ao terminal original onde a captura está em execução. Interrompa a captura com Ctrl+C. Será exibido um resumo do número de pacotes capturados:

aeacf2f21c2dea4f.png

Um arquivo binário com os pacotes que acabamos de capturar chamado http.pcap também terá sido criado. Não tente exibir o conteúdo desse arquivo na tela. Como se trata de um arquivo binário, ele será exibido como texto sem sentido.

6649a448a7faef33.png

Em algum lugar nesse arquivo, há informações sobre os pacotes criados ao extrair o HTML de example.com. É possível ler esse arquivo com o tcpdump usando este comando:

tcpdump -r http.pcap -nv

5b2f12f38410cce2.png

Não é necessário usar o sudo para ler pacotes de um arquivo. O tcpdump grava os pacotes completos no arquivo, e não somente a análise baseada em texto que é impressa na tela em operações normais. Por exemplo, em algum lugar da resposta, você verá o HTML retornado como o corpo da consulta original no outro terminal:

6d7bb5d7e908c6e.png

Clique em "Verificar meu progresso" para conferir o objetivo.

Gravar pacotes em um arquivo

Conclusão

Parabéns! Você usou o tcpdump para fazer o monitoramento básico de rede, incluindo filtrar tráfego específico. Você também aprendeu a interpretar as informações que o tcpdump exibe sobre os pacotes, além de salvar e carregar resumos dos pacotes capturados em uma sessão.

Termine o laboratório

Após concluir o laboratório, clique em Terminar o laboratório. O Qwiklabs vai remover os recursos usados e limpar a conta para você.

Você pode avaliar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.