Sem categoria

Análise de Tráfego – TCPDump

Mais um conteudo interessante aos TI’s leitores!…e via itnerante!!!

"Oi galera, mais uma vez aqui fazendo um Post. Desta vez irei falar sobre a saída do TCPDump.

Eu escolhi falar neste momento no TCPDump, porque o concurso da PF está cada vez mais próximo e comparando com o WireShark a saída do TCPDump é muito mais difícil de entender.

Para você compreender totalmente este Post é necessário que você tenha um bom conhecimento na arquitetura TCP/IP e conheça o funcionamento de protocolos como o TCP, IP, UDP, e etc. Não irei me aprofundar explicando como estes protocolos funcionam, para estudar eles aconselho a assistir as aulas do Professor Walter e a ler bastante sobre o assunto e também existe o memorex de análise de tráfego feito pelo Paulo Marcelo.

Hoje só irei abordar o TCP e o Three Way HandShake

Começando…

Entendendo o Formato

Ex. 1

09:32:43:910000 192.168.200.2.1173 > 192.168.200.30.21: S 62697789:62697789(0) win 512

  • 09:32:43:910000 Esse é o time stamp, ou carimbo do pacote. Mostra 2 dígitos para horas, 2 dígitos para o minuto, 2 dígitos para o segundo e 6 dígitos para fração de segundos.
  • 192.168.200.2 Mostra o IP de origem do pacote. As vezes pode aparecer a resolução do nome e ao invés de vir o IP irá vir o nome de domínio. Isso depende se opção do TCPDump –n está ou não habilitada.
  • 1173 Essa é a porta de origem.
  • > Somente indica a direção do fluxo. ORIGEM > DESTINO.
  • 192.168.200.30 Esse é o IP de destino.
  • 21 Esse indica a porta de destino
  • SEsse indica que a flag SYN do TCP.
    • S é a flag SYN.
    • P é a flag PUSH
    • R é a flah RESET
    • ack é a flag que reconhece os dados recebidos.
    • urg é a flag que indica que existe um dado urgente. Que deve ter mais prioridade sobre outros dados.
    • . (ponto) indica que não tem flag setada.
    • 62697789:62697789(0) Esse é o NUMERO DE SEQUENCIA INICIAL:NUMERO DE SEQUENCIA FINAL (QUANTIDADE DE BYTES).
    • win 512 É o tamanho do buffer para receber dados que o IP 192.168.200.2 está aceitando em bytes. (Tamanho da Janela).

Ex. 2

client.com.38060 > server.com.21: S 3774957990:3774957990(0) win 8760 <mss 1460> (DF)

server.com.21> client.com.38060: S 2009600000:2009600000(0) ack 3774957991 win 1024 <mss 1460>

client.com.38060 > server.com.21: .ack 1 win 8760 (DF)

client.com.38060 > server.com.21: P 1:28(27) ack 1 win 8760 (DF)

Para facilitar, foi removido o time stamp. E agora só irei falar o que aparece de diferente.

Este conjunto de pacotes está revelando que a o início de uma conexão TCP, usando a porta 21 (FTP controle). E podemos ver claramente o Three-way-handshake do TCP.

  • 3774957990:3774957990(0) Número de sequência. Podemos perceber que este número de sequência inicial e final é o mesmo, isso acontece porque nenhum dado está sendo transmitido. Não existe payload no segmento TCP.
  • <mss 1460> Isso indica o Maximum Segmet Size ou tamanho máximo do segmento. O MSS é o tamanho máximo da carga do TCP. MSS não inclui nenhum tamanho dos cabeçalhos TCP nem IP. É bom também vocês saberem o que é MTU (MAXIMUM TRANSFER UNIT). O MTU é o tamanho máximo do pacote, que pode ser calculada sendo o MSS + Tamanho dos cabeçalhos TCP e IP. Considerando que normalmente os cabeçalhos TCP e IP possuem 20 bytes cada, então para esse pacote podemos considerar que o MTU = MSS + 20 (TCP) + 20 (IP) = 1500.
  • (DF) Flag que indica que este pacote não aceita fragmentação.
  • ack 3774957991 Indica que confirmou os pacotes com sequence number 3774957990 e agora o próximo pacote que esperar receber é o que tem sequence number 3774957991

Nos últimos dois pacotes vocês irão perceber que o sequence number irá mudar. Ou seja irá começar do 1. Isso acontece porque o TCPDump utiliza o sequence number relativo, para facilitar na leitura.

  • ack 1 Confirma o rebimento do ultimo pacote e espera receber o próximo pacote de sequence number relativo 1 do server.com
  • P Indica que a flag PUSH está ligada, essa flag fala para enviar o pacote diretamente para a aplicação.
  • 1:28(27) Sequence numbers que está enviando. Indica que tem uma carga (payload) de 27 bytes sendo enviado. Está enviando os sequence number de 1 a 28.

Galera por hoje é só. Se possuir algum erro posta aí.

Talvez mais para frente eu coloque mais exemplos. Quem sabe abordando outros protocolos. Depois também posso postar referências e livros para aprender a fazer análise de tráfego. Se tiverem recomendações ou pedidos ou dúvidas postem aí, ajudo na medida do possível.

"

Nao poderia deixar de colocar a referencia, se não posso ir p/ cadeia (hihi)…

Fonte:http://www.itnerante.com.br/profiles/blogs/an-lise-de-tr-fego-tcpdump-decifrando-a-sa-da-do-tcpdump?xg_source=activity

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s