2013/03/19

Redes - Capitulo 3: Ping & Ipcofig

1 comment

Capitulo 3: Ping & Ipconfig

O que é Ping?

O Ping é um comando de diagnósticos utilizado em MS-DOS (Windows) ou Terminal (Linux e Macintosh) para testar a conectividade entre equipamentos.
Seu funcionamento consiste no envio de pacotes para o equipamento de destino e na "escuta" das respostas. Se o equipamento de destino estiver ativo, uma "resposta" (o "pong", uma analogia ao famoso jogo de ping-pong) é devolvida ao computador solicitante.


Para que serve?

  • Testar a comunicação entre 2 pontos;
  • Identificar possíveis instabilidades em Conexões de Internet;
  • Identificar possíveis instabilidades em um site ou servidor
  • Identificar o Endereço IP de um Computador, Site ou Servidor;
  • Descobrir o TTL (time to live, ou tempo de vida) de configurações de DNS de um Site ou Servidor.


Vemos a seguir como funciona o comando Ping

O teste consiste no envio de pacotes a um endereço especificado na execução do comando. Esse endereço deverá devolver os pacotes enviados, ao fazê-lo teremos os seguintes dados:
• IP do Servidor ao qual executamos o Ping
• Tempo de Resposta
• TTL (Time to live, ou Tempo de Vida)

Como utilizo?

Sua a sintaxe é a mesma para os 3 sistemas operacionais (Linux, Macintosh e Windows). Primeiro vem o comando seguido do endereço que será testado.
Exemplo:
ping www.uol.com.br
Vejamos como seria o resultado do comando acima nos Terminais de Linux e Macintosh, e no MS-DOS do Windows:

Terminal Linux:

Ping no Terminal do Linux

Terminal Macintosh:

Ping no Terminal do Macintosh

MS-DOS Windows:

Ping no MS-DOS do Windows
Note que o resultado varia entre os Terminais e MS-DOS, mas há 3 dados em comum: Endereço IP do Servidor, Tempo de Resposta e TTL.


Como interpreto o resultado de um teste Ping?

Primeiro, observe a imagem abaixo. Nela destaco os itens a serem considerados em um resultado de teste Ping:


Os dados a serem considerados são:
Resposta de = Informa o IP do Servidor testado.
Tempo = Tempo em milissegundos (ms) de retorno dos pacotes.
TTL = Tempo de Permanência das Configurações de DNS do domínio testado no *Cache de DNS.
Resposta da IP, enviando 32 bytes, demorou 37 milissegundos, deu um time to live de 52
Estatísticas do Ping = Relatório objetivo com resumo dos “Pacotes Enviados”, “Pacotes Recebidos”, “Pacotes Perdidos” e Tempo de Respostas Mínimo e Máximo em milissegundo.
Sim... está em espanhol, fazer o que né?



Aprofundando no TTL

O TTL (Time to Live) fornece o número de roteadores entre o host de origem e o host destino. Ele é utilizado para evitar que um pacote IP entre em looping (bucle infinito) dentro da rede, causando algo mais sério. O valor inicial do TTL de um pacote IP é 255. Cada vez que encontra um roteador, o TTL é decrementado em 1. Quando o valor chegar a 0, o pacote é descartado por um roteador. Por padrão, o Windows irá diminuir o TTL em 128 e o Linux em 192.
Exemplo prático:

Note que o TTL para o IP 187.45.214.138 é de 52. Com essa saída (TTL=52), podemos tirar algumas conclusões muito boas:


O Servidor em qual o IP: 187.45.214.138 está configurado é uma máquina Linux, para chegar até o destino, o pacote passou por 11 roteadores, você deve estar se perguntando como eu sei desses detalhes? simples!
Por padrão, se a máquina for Windows, o TTL recebe um decréscimo de 120 e se for Linux, recebe um decréscimo de 192, cada roteador que ele passa, o TTL sofre um decréscimo de 1. Logo fica fácil fazer a conta:
255 (TTL inicial) – 128 (Decréscimo de uma máquina Windows) = 127. Logo o host 187.45.214.138 não pode ser uma máquina Windows.
255 (TTL inicial) – 192 (Decréscimo de uma máquina Linux) = 63. Logo o host 187.45.214.138, como nosso TTL final foi 52, concluímos que entre nosso host e o host (Linux) do  187.45.214.138 existem 11 roteadores.
Dúvida? Podemos tirar a prova. Basta dar o comando:
Note que entre 1º e o 13º host, o pacote dá 11 saltos, ou seja, existem 11 roteadores entre eles.


Como diagnosticar dificuldades na conexão?
Todos os pacotes deverão ser enviados e recebidos em um **Tempo médio aceitável. Havendo perda de pacote e/ou Tempo de resposta instável, ou seja, oscilando entre tempos baixos e altos, é um sinal de falha na conexão.
O ideal são tempos baixos, pois tempo de resposta foi maior, isto representa lentidão na comunicação entre os pontos testados.
Para saber se o problema está na conexão ou no servidor testado, execute o Ping para vários endereços diferentes. Se a Perda de Pacotes e/ou Variação em Tempo de Resposta ocorrer em todos os testes, é problema na conexão (problema local ou na rede do provedor de Internet). Se ocorrer com um endereço específico, pode ser problema na própria conexão (na rede da empresa provedora de Internet) ou no endereço estado.
** Conexão Banda Larga tende a obter resultados entre 0ms e 200ms. Uma conexão discada pode variar entre 200ms e 1500ms.
Atributos Adicionais:
Com o uso de atributos adicionais podemos aprimorar o teste de Ping.

Exemplo:


ping www.glidersoft.net -n 100
Envia 100 pacotes.

ping www.glidersoft.net -t
Dispara pacotes ininterruptamente até que o usuário interrompa o envio, como no Terminal. (Control + C no windows, Control + Z no linux & Mac)

Para ver os Atributos Adicionais, digite:
ping /?



Considerações Finais:
É importante ressaltar que alguns sites não respondem ao comando Ping para evitar ataques, por  exemplo. Podem procurar por ataques DDOS, proximamente publicarei um artigo explicando vários tipos de ataques para comprovar a segurança de um site.




O que é Ipconfig?


Ipconfig é um comando para visualizar as configurações de IP e placa de rede do computador local, via CMD, o comando ipconfig acompanhado do atributo "/ALL" vai mostrar a configuração detalhada da sua placa de rede:


ipconfig /all

Exercícios 



1) Qual é seu IP e do colega

  • Você e seu amigo podem digitar ipconfig (simple, sem /all) e procurar o seguinte:


Vamos supor que a ip dele é 192.168.0.102

2) Qual é sua mascara e do seu colega?

  • Mesmo procedimento para achar a mascara

A mascara, se estamos na mesma rede, vai ser a mesma, 255.255.255.0

3) Estatísticas do ping para o seu colega

  • Só fazer um ping simple:



ping 192.168.0.102
Em vermelho marco as estadísticas resultantes 

4) Como enviar 100 ping rápidos

  • Vamos supor que queremos saber se um amigo se encontra em casa, nos vamos ir até a casa dele e vamos bater na pota dele com uma garrafa de aguá preenchida até a metade, bom... agora imagina que a garrafa esta cheia de ferro pesado, você vai demorar mais em bater na porta, é mais pesado! então podemos testar com uma garrafa vazia. O processo vai ser o mesmo, só que vai bater mais rápido, já que o peso é menor. Mesma coisa com o ping podemos enviar 1 byte, o envio será mais rápido!
  • Mais cuidado! Isto não vai interferir no tempo de resposta, que seu amigo acorde ou não é outra coisa...
  • Vamos lá! O comando seria o seguinte:
ping 192.168.0.103 -l 1
Pode ver que os bytes de envio são 1

5) como tornar o ping mais rápido e continuo
  • Aqui vamos combinar o anterior atributo com outro que torna ele ilimitado (até usuário cancelar) como falei antes no post:
ping 192.168.0.103 -l 1 -n 100

If You Enjoyed This, Take 5 Seconds To Share It

Um comentário: