como o tráfego de rede flui-introdução
Gideon T. Rasmussen-CISSP, CFSO, CFSA, SCSA
para solucionar um problema, você precisa saber como o tráfego de rede flui em circunstâncias normais. Este artigo detalha o que acontece quando um navegador da Web é usado para acessar um site.
uma vez que o nome do site é inserido em um navegador da Web, uma série de comunicações ocorre em vários protocolos. A tabela abaixo representa como o tráfego de rede flui:
linha:
|
Protocolo:
|
Origem:
|
Destino:
|
Dados:
|
1
|
ARP
|
10.0.1.13
|
Transmissão
|
Quem tem 10.0.1.1? Dizer 10.0.1.13
|
2
|
ARP
|
10.0.1.1
|
10.0.1.13
|
10.0.1.1 é às 00:80:c8:57:d3:aa
|
3
|
DNS
|
10.0.1.13
|
10.0.1.1
|
Padrão de consulta de Um www.cyberguard.com
|
4
|
DNS
|
10.0.1.1
|
10.0.1.13
|
Padrão de resposta de consulta CNAME cyberguard.com Um 64.94.50.88
|
5
|
TCP
|
10.0.1.13
|
64.94.50.88
|
1939 > http
|
6
|
TCP
|
64.94.50.88
|
10.0.1.13
|
http > 1939
|
7
|
TCP
|
10.0.1.13
|
64.94.50.88
|
1939 > http
|
8
|
HTTP
|
10.0.1.13
|
64.94.50.88
|
GET / HTTP/1.1
|
9
|
HTTP
|
64.94.50.88
|
10.0.1.13
|
HTTP/1.1 200 OK
|
10
|
HTTP
|
64.94.50.88
|
10.0.1.13
|
HTTP Continuation
|
11
|
TCP
|
10.0.1.13
|
64.94.50.88
|
2577 > http Seq=388864 Ack=37076821 Win=8241 Len=0
|
12
|
TCP
|
10.0.1.13
|
64.94.50.88
|
2577 > http Seq=388864 Ack=37077089 Ganhar=0 Len=0
|
O Protocolo ARP
Antes que os sistemas possam se comunicar, eles precisam saber uns dos outros endereços de hardware. O protocolo de resolução de endereço (Arp) é usado para esse fim. A partir de sua configuração, a estação de trabalho conhece o endereço IP do servidor DNS.
Linha # 1
Protocolo: | Fonte: | Destino: | Dados: |
ARP | 10.0.1.13 | Broadcast | Quem tem 10.0.1.1? Diga 10.0.1.13 |
a estação de trabalho transmite uma solicitação aos dispositivos em sua rede perguntando “quem tem” o endereço IP com o qual precisa se comunicar.
Linha # 2
Protocolo: | Fonte: | Destino: | Dados: |
ARP | 10.0.1.1 | 10.0.1.13 | 10.0.1.1 é às 00:80:c8:57:d3:aa |
O sistema remoto responde fornecendo o endereço de hardware. Agora que a estação de trabalho conhece o endereço de hardware do sistema remoto, ela pode se comunicar com ela.
o protocolo DNS
o protocolo Domain Name System (DNS) é usado para resolver nomes de sistema para endereços IP. Quando um nome de site é inserido em um navegador, a estação de trabalho precisa saber o endereço IP correspondente para chegar ao servidor da web que hospeda o site.
Linha # 3
Protocolo: | Fonte: | Destino: | Dados: |
DNS | 10.0.1.13 | 10.0.1.1 | Padrão de consulta www.cyberguard.com |
A estação de trabalho solicita que o servidor DNS para fornecer o endereço IP do servidor Web que hospeda o www.cyberguard.com.
Linha # 4
Protocolo: | Fonte: | Destino: | Dados: |
DNS | 10.0.1.1 | 10.0.1.13 | Padrão de resposta de consulta CNAME cyberguard.com Um 64.94.50.88 |
O servidor de DNS responde com o endereço IP correspondente a www.cyberguard.com.
o protocolo TCP
o protocolo TCP (Transmission Control Protocol) é usado para transferir dados. Essas três linhas formam o handshake de três vias TCP:
Linha # 5
Protocolo: | Fonte: | Destino: | Dados: |
TCP | 10.0.1.13 | 64.94.50.88 | 1939 > http |
A estação de trabalho inicia a conexão para o servidor Web (SYN). SYN é uma abreviatura para ” sincronizar.”
Linha # 6
Protocolo: | Fonte: | Destino: | Dados: |
TCP | 64.94.50.88 | 10.0.1.13 | http > 1939 |
O servidor Web responde indicando que ele está pronto para a transmissão (SYN ACK). SYN ACK é uma abreviação de ” synchronize acknowledgement.”
Linha # 7
Protocolo: | Fonte: | Destino: | Dados: |
DNS | 10.0.1.13 | 64.94.50.88 | 1939 > http |
A estação de trabalho envia para o servidor Web, indicando que ele está começando a enviar tráfego (ACK). Este reconhecimento indica que a conexão TCP é estabelecida e o tráfego pode começar a fluir.
o protocolo HTTP
o Hyper Text Transfer Protocol (HTTP) é usado para servir páginas da Web. Você pode ver evidências disso no endereço do site em seu navegador (ou seja, http://www.cyberguard.com).
Linha # 8
Protocolo: | Fonte: | Destino: | Dados: |
HTTP | 10.0.1.13 | 64.94.50.88 | GET / HTTP/1.1 |
O navegador abre uma conexão para o servidor Web.
Linha # 9
Protocolo: | Fonte: | Destino: | Dados: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP/1.1 200 OK |
A Web servidor aceita a conexão.
Linha # 10
Protocolo: | Fonte: | Destino: | Dados: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP Continuação |
HTTP linhas de Continuação representam o local onde o conteúdo da página html são enviados através de. Inclui texto, links, etc.
de Volta para o Protocolo TCP
Linha # 11
Protocolo: | Fonte: | Destino: | Dados: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq = 388864 Ack = 37076821 Vitória = 8241 Len=0 |
esta linha é realmente repetida quatro vezes. A estação de trabalho está reconhecendo o último pacote.
Linha # 12 (RST)
Protocolo: | Fonte: | Destino: | Dados: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq=388864 Ack=37077089 Ganhar=0 Len=0 |
A estação de trabalho envia uma redefinição, efetivamente derrubar a conexão TCP.
Tcpdump e etéreo
é importante notar que o tcpdump fornecerá detalhes diferentes dependendo de onde ele é executado em sua rede. Neste exemplo, o tcpdump foi executado na interface interna do firewall com uma estação de trabalho conectada diretamente. Se o tcpdump fosse usado para monitorar o mesmo fluxo de tráfego na interface externa, o endereço IP de origem apareceria como a interface externa do firewall, desde que a tradução dinâmica de endereço de rede (DNAT) estivesse em vigor. Para observar como o tráfego de proxy flui, faz sentido executar o tcpdump nas interfaces interna e externa, pois o proxy atua como intermediário entre a origem e o destino.
a fonte da tabela era um arquivo tcpdump visualizado por meio do etéreo. A sintaxe exata usada foi: “tcpdump -vvpni dec1 -s1514 -w /archive2/dec1.DMP host 10.0.1.13”. O comando tcpdump tem amplas opções para registrar fluxo de tráfego muito específico (ou seja, origem/destino, portas e expressões booleanas). Para obter mais informações, digite “Man tcpdump” na linha de comando. A versão do Windows é Windump (http://windump.polito.it).
etéreo é uma boa ferramenta para visualizar arquivos tcpdump. Está disponível gratuitamente a partir de http://www.ethereal.com.
algumas das portas presentes em um tcpdump podem não ser familiares para você. A lista mais atual de números de porta pode ser encontrada em http://www.iana.org/assignments/port-numbers(por RFC 3232).