Você está na página 1de 9

INTRODUÇÃO

O grande objetivo deste trablho é mostrar como realizar a análise de tráfego em


redes. A nova geração IP (IPv6) também é abordada com certa profundidade, garantindo
um bom entendimento sobre essa tecnologia.

Este trabalho utiliza o tcpdump, exaustivamente, para demonstrar a teoria com


base em capturas de tráfego e, consequentemente, ensinar sua análise. Todo o trabalho
está dividido em uma introdução e cinco partes, a saber: conceitos básicos; protocolos
básicos em redes TCP/IP e sua análise; conhecimentos específicos em redes TCP/IP e
sua análise; tráfegos diversos e sistemas específicos; apêndices.

É feita uma ampla abordagem sobre protocolos de rede e assuntos correlatos,


como IPv4, IPv6, TCP, UDP, ICMP, Ethernet, ARP e NDP, Modelo OSI, roteamento
em redes, bridges e sistemas de firewall. Também serão realizados trabalhos com
simuladores de redes e programas para detectar invasões.

Pelo seu conteúdo, este trabalho é um trabalho direcionado a todos que


empregam TCP/IP dentro de uma rede de computadores, independentemente do sistema
operacional utilizado. A análise de tráfego poderá ser feita em qualquer ambiente e os
conhecimentos aqui disponibilizados são universais.

1
ANÁLISE DE TRÁFEGO EM REDES TCP/IP COM TCP DUMP

Antes de falarmos em análise de tráfego devemos primeiramente entender os


conceitos básicos que são envolvidos nesse tipo de questão. É preciso que se identifique
claramente qual o tipo de informação estão sendo proposto na avaliação: estamos
querendo avaliar pacotes da camada 3 ou segmentos da camada 4? Tais dados estão
sendo trafegados em que tipo de enlace? Ethernet? Token ring?

Os frames Ethernet são "envelopes" para os pacotes TCP/IP. O aplicativo (um


navegador, um servidor web, ou qualquer outro aplicativo transmitindo dados pela rede)
envia os dados ao sistema operacional, que divide a informação em pacotes TCP/IP e os
envia à placa de rede. As placas de rede (que não entendem o protocolo TCP/IP) tratam
os pacotes como um fluxo de dados qualquer e adicionam mais uma camada de
endereçamento, desta vez baseada nos endereços MAC dos dispositivos da rede,
gerando o frame Ethernet que é finalmente transmitido. Ao chegar do outro lado, o
"envelope" é removido e o pacote TCP/IP é entregue.

Voltando nossa atenção para o campo "conteúdo" vemos que a capacitdade


máxima suportada por esse padrão será de 1500 bytes. Esse valor é conhecido como
MTU (Maximum Transmission Unit). Informações das camadas superiores serão
transportados dentro do campo de dados (ou conteúdo) obedecendo tal limitação do
padrão ethernet.

Devido essa limitação do protocolo ethernet, as camadas superiores constumam


separar o tamanho máximo por pacote para encaixar neste valor padrão. A aplicação,
portanto, envia para a camada hierarquimante inferior dados de 1500 bytes, correto?
Não! Tenha sempre em mente que além dos dados da aplicação, também conhecido
como payload que é a carga útil de informação a ser transmidida, também devem ser
acrescidos os overhead (informações extras) pelas camadas de tranporte, rede e enlace.
Os overheads trazem dados de controle essenciais para que os pacotes alcancem seu
destino, sendo descartados na ponta de destino.

Dentro do pacote TCP/IP temos os headers (cabeçalhos), que contém o endereço


IP de origem, endereço IP de destino, porta de origem, porta de destino, códigos de
verificações, número do pacote, campo para inclusão de opções e vários outros.

2
Geralmente, teremos 20 bytes para os headers do protocolo TCP e mais 20 bytes para os
headers do protocolo IP, totalizando 40 bytes de headers por pacote. Por este motivo, a
aplicação deverá entregar, no máximo, 1460 bytes de dados/payload que serão
transmitidos em um pacote de 1500 bytes (lembre-se estamos falando do padrão
ethernet).

Os headers do protocolo IP incluem o endereço IP de origem e de destino,


enquanto os headers do TCP incluem a porta de origem e de destino. Resumidamente,
podemos afirmar que o IP se encarrega da entrega dos pacotes (através da localização
do endereço IP), enquanto o TCP se encarrega da verificação de erros, numeração de
portas e etc.

Dentro da rede local ethernet, teremos um total de 1518 bytes transmitidos para
cada pacote TCP/IP de 1500 bytes, incluído agora os 14 bytes do cabeçalho ethernet e
os 4 bytes de CRC (checagem de erro). Se considerarmos também os 8 bytes iniciais
que formam o preâmbulo, presente apenas durante o processo de sincronização, este
número sobe para 1526 bytes. Considerando que cada pacote contém apenas 1460 bytes
de carga útil (informação da camada de aplicação), teremos 66 bytes de overhead (dados
de controle), que corresponde a quase 5% do volume de dados transmitidos por quadro!

O PROTOCOLO IP
O protocolo IP é, sem dúvidas, um dos mais importantes da internet. Seu nome,
inclusive, é justamente Protocolo da Internet. Ele é responsável pela criação e transporte
de pacotes de dados pela rede. Todos os demais protocolos da internet foram
desenvolvidos para apoiar o protocolo IP em suas ações.

O que é e qual a função do protocolo IP

O protocolo IP (Internet Protocol e, em português, Protocolo da Internet) faz


parte da sequência de protocolos TCP/IP. Ele é um dos protocolos mais importantes da
internet, pois permite a elaboração e transporte de datagramas IP (pacotes de dados)
sem, contudo, assegurar a entrega dos pacotes de dados. O protocolo IP trata os
datagramas IP independentemente, definindo sua representação, encaminhamento e
envio.

O protocolo IP determina o destinatário da mensagem graças a três campos. São


eles endereço IP, que é o endereço do computador, máscara de subrede, que permite ao

3
endereço IP determinar a parte do endereço que se refere à rede e gateway estreita por
padrão, que permite ao protocolo saber qual computador vai receber o datagrama caso o
computador de destino não esteja na rede local.

O PROTOCOLO TCP

O Protocolo de Controle de Transmissão, conhecido pela sigla TCP, integra o


grupo de protocolos de comunicação que dão suporte às atividades de usuários na
internet. Sua função é basicamente de verificação de erros nos dados transmitidos.
Nesse artigo, saiba mais sobre esse importante protocolo.

O que é o protocolo TCP

O TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão)


é um dos principais protocolos da camada de transporte do modelo TCP/IP. Ele permite
gerenciar os dados originados ou destinados ao protocolo IP) Dados fornecidos ao
protocolo IP são encapsulados em datagramas IP - datagrama é um nome genérico para
uma mensagem enviada sem conexão e sem confirmação, como os pacotes IP. Com
isso, o campo do protocolo é fixado em 6 para que se saiba que o protocolo ascendente é
o TCP. O TCP é um protocolo orientado para a conexão, isto é, permite que duas
máquinas se comuniquem, além de controlar o estado da transmissão.

Como funciona o protocolo TCP

As características do protocolo TCP são entregar ordenadamente os datagramas


provenientes do protocolo IP, verificar a onda de dados para evitar uma saturação da
rede, formatar os dados em segmentos de comprimento variável para 'entregá-los' ao
protocolo IP, permitir o multiplex dos dados, ou seja, fazer circular simultaneamente as
informações de fontes distintas na mesma linha e permitir o início e o fim de uma
comunicação de maneira correta.

Qual é a utilidade do protocolo TCP

Graças ao sistema de avisos de recepção do protocolo TCP, os aplicativos


podem se comunicar com segurança, independentemente das camadas inferiores. Isso
significa que os roteadores têm como papel fundamental o encaminhamento dos dados

4
em forma de datagramas, sem se preocuparem com o controle dos dados, pois este é
realizado pelo protocolo TCP.

Durante uma comunicação através do protocolo TCP, as duas máquinas devem


estabelecer uma conexão. A máquina emissora (que pede a conexão) chama-se cliente
enquanto a máquina receptora é o servidor. Dizemos então que estamos em um
ambiente cliente-servidor. As máquinas em tal ambiente se comunicam em modo
conectado, ou seja, a comunicação é feita nos dois sentidos.

Para permitir o bom desenvolvimento da comunicação e de todos os controles


que a acompanham, os dados são encapsulados, isto é, junto ao pacote de dados vai um
cabeçalho que sincroniza as transmissões e assegura a sua recepção. Outra
particularidade do TCP é poder controlar o débito dos dados graças à capacidade de
emitir mensagens de dimensão variável. Estas mensagens são chamadas de segmentos.

O PROTOCOLO ICMP

O protocolo IP não possui nenhum recurso de correção de erros. Parte dessa


lacuna, é preenchida pelo protocolo ICMP. Ele lida especificamente com os chamados
problemas de entrega, que ocorrem no momento da troca de comunicações entre duas
máquinas. Saiba mais sobre o protocolo ICMP a seguir.

O que é o Protocolo ICMP

O protocolo ICMP (Internet Control Message Protocol - Protocolo de


Mensagens de Controle de Internet) é um protocolo que permite gerenciar as
informações relativas aos erros nas máquinas conectadas. Devido aos poucos controles
que o protocolo IP realiza, ele não corrige estes erros mas os mostra para os protocolos
das camadas vizinhas. Assim, o protocolo ICMP é usado por todos os roteadores para
assinalar um erro, chamado de Delivery Problem ou, em português, Problema de
Entrega.

O que são as mensagens ICMP encapsuladas

As mensagens de erro ICMP são transportadas na rede sob a forma de


datagrama, como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar
sujeitas a erros. Contudo, no caso de erro num datagrama que transporta uma mensagem
ICMP, nenhuma mensagem de erro é emitida para evitar um efeito 'bola de neve' no
caso de incidente na rede.

5
O MODELO OSI

O Modelo OSI (acrônimo do inglês Open System Interconnection) é um modelo


de rede de computador referência da ISO dividido em camadas de funções, criado em
1971 e formalizado em 1983, com objetivo de ser um padrão, para protocolos de
comunicação entre os mais diversos sistemas em uma rede local (Ethernet), garantindo a
comunicação entre dois sistemas computacionais (end-to-end).

Este modelo divide as redes de computadores em 7 camadas, de forma a se obter


camadas de abstração. Cada protocolo implementa uma funcionalidade assinalada a
uma determinada camada.

Segundo Tanenbaum o Modelo OSI não é uma arquitetura de redes, pois não
especifica os serviços e protocolos exatos que devem ser usados em cada camada. Ele
apenas informa o que cada camada deve fazer.

O Modelo OSI permite comunicação entre máquinas heterogêneas e define


diretivas genéricas para a construção de redes de computadores (seja de curta, média ou
longa distância) independente da tecnologia utilizada.

TÉCNICA DE USO DO TCP DUMP NA ANÁLISE DE TRÁFEGO

O TCPDump é um comando extremamente eficaz para verificação do tráfego de


pacotes na rede de sistemas Linux.

1 – Especificando uma interface de rede:

tcpdump -i eth1

Por padrão, o TCPDump vai “ouvir” somente a interface principal do sistema.


Portanto, caso necessite verificar o tráfego em outra interface, utilize o parâmetro “-i“.

Outro parâmetro muito importante nesse sentido é o “-i any” (`tcpdump -i any`).
Com ele podemos “ouvir” todas interfaces de uma só vez.

2 – Especificando um host:

tcpdump host ldap.google.com

Podemos verificar se há tráfego de/para um determinado host com o parâmetro


“host” seguido do host que queremos verificar.

6
Desta forma verificamos tanto o host de entrada quanto de saída.

3 – Especificando um endereço IP:

O parâmetro “host” também pode ser utilizado para determinarmos endereços


IP. Para isso, o utilizamos com o parâmetro “-n” (`-n host`). Sem ele, o comando não
“resolverá” o host em endereço IP.

4 – Especificando origem e destino

Origem:

tcpdump -n src host 192.168.0.100

Utilizando o parâmetro “src” filtro apenas pelo tráfego de origem de um host.

Destino:

tcpdump -n dst host 192.168.0.100

Com “dst” filtro apenas o tráfego de destino. No caso, o destino será o host
especificado.

5 – Especificando a porta.

tcpdump dst port 443

No exemplo acima, mais uma vez, utilizamos o parâmetro “dst“, porém seguido
de “port 443“. Ou seja, estou filtrando pela porta de destino 443. Se acaso queiramos
filtrar o tráfego de entrada na mesma porta, basta substituir o “dst” por “src“.

6 – Concatenando parâmetros

Podemos juntar parâmetros no TCPDump com “and” ou “or“. Exemplo:

tcpdump -n host 192.168.0.100 and dst port 80 or dst port 8080

7
CONCLUSÃO

Portanto, conclui-se que a análise de tráfego é um conhecimento fundamental


para quem trabalha com redes de computadores. Sem ela, em momentos de panes e
problemas em redes, o administrador será em mero testador de possibilidades
infundadas.

A Ferramenta tcpdump é a melhor aliada na análise de trafego. No entanto,


outras ferramentas como o wireshark e mtr poderão ser úteis, principalmente para o
estudo e aprendizado.

Não se bloqueia ICMP em redes! Sem ele, haverá um certo grau de perda de
controle.

8
REFERÊNCIAS BIBLIOGRÁFICAS

MOTA FILHO, João Eriberto. Análise de tráfego em redes TCP/IP. Editora Novatec,
2013.

STEVENS, W, Richard, FALL, Kevin R. TCP/IP Illustrated, Volume I, 2ª edição.


Editora Addison-Wesley, 2011.

WIRESHARK.ORG. Seção de capturas no site, em


http://wiki.wireshark.org/SampleCaptures

PINTO, Pedro. Redes – Sabe o que é o modelo OSI? [1] Acesso em 19.nov.2013

Cysne, Otero; Fernando, Luiz (2016). A nova bíblia do som. Google Livros: Cia do
eBook. ISBN 9788555850448. Consultado em 4 de janeiro de 2017

Projeto de Redes - O Modelo OSI |


http://www.projetoderedes.com.br/artigos/artigo_modelo_osi.php | Acessado em 08
agosto 2012

Você também pode gostar