rede rota route

Combine os comandos PING e TRACEROUTE no Linux, usando o MTR

O mtr é uma ferramenta de diagnóstico da rede que combina as funcionalidades dos comandos ping e traceroute.
Ao iniciar, o mtr investiga a conexão de rede entre o computador local, em que ele está sendo executado (host) e o outro, indicado pelo usuário (hostname) — enviando pacotes com TTLs propositadamente baixos. Ele envia os pacotes continuamente e registra os tempos de resposta dos roteadores intervenientes. community_symbol_2
Isto permite exibir os percentuais e tempos de respostas da rota, via Internet, até o destino.
Um repentino aumento na quantidade de pacotes perdidos ou no tempo de resposta é um indicador de que há um link ruim ou apenas sobrecarregado na rota.
O mtr trabalha enviando pacotes ICMP e incrementa o valor do TTL até encontrar uma rota entre a fonte (onde ele é executado) e o destino.
O significado de MTR é My TraceRoute, ou meu traceroute.
Ao combinar o uso do ping com o traceroute, se torna uma ferramenta poderosa para diagnosticar a sua rede.
A ferramenta permite ao administrador diagnosticar e isolar erros na rede e, ao mesmo tempo, oferece relatórios úteis sobre o estado da rede.
Vou explicar, através de exemplos, como instalar e usar o comando mtr, ao longo deste artigo.

como instalar o mtr

No ubuntu 14.04, o mtr-tiny já vem instalado e responde por mtr. Este pacote não tem o aplicativo que roda no modo gráfico.
Portanto, se você instalar o mtr, através do apt-get, ele irá remover o mtr-tiny:

sudo apt-get install mtr

A saída do comando mostra o que será feito:

Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
  mtr-tiny
Os NOVOS pacotes a seguir serão instalados:
  mtr
0 pacotes atualizados, 1 pacotes novos instalados, 1 a serem removidos e 8 não atualizados.
É preciso baixar 58,4 kB de arquivos.
Depois desta operação, 39,9 kB adicionais de espaço em disco serão usados.
Você quer continuar? [S/n]

Usuários do CentOS e Fedora podem usar o yum:

sudo yum install mtr

feat rede network-gray

como usar o mtr

O aplicativo funciona em modo gráfico e em modo texto. O padrão é o modo gráfico.
Você pode fazer a experiência, com o seguinte comando:

mtr --curses nerdices.com.br

Este comando irá executar o aplicativo no modo texto, como você pode ver na imagem, abaixo:

mtr ping traceroute diagnósitco de rede
Clique para ampliar

Para interromper a execução, tecle q.
Para rodar a ferramenta em modo gráfico (padrão), o comando é mais simples:

mtr nerdices.com.br

rede mtr ping traceroute linux
Clique para ampliar

O mtr irá rodar em modo contínuo e interativo — até você o interromper.

Execute o mtr em Report Mode

Se você preferir, pode obter um resultado instantâneo do aplicativo.
Em vez de usar o modo interativo, use o modo de relatório com a opção --report.
Neste modo, o programa roda dentro de 10 ciclos e finaliza, exibindo um relatório útil para determinar a qualidade da sua rede. Veja:

mtr --no-dns --report google.com.br

Eu obtive o resultado abaixo:

Start: Wed Apr 23 14:14:32 2014
HOST: Voyager                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.254.254            0.0%    10    1.5   1.8   1.2   2.8   0.0
  2.|-- 200.217.255.248            0.0%    10   49.7  37.5  22.6  64.0  13.4
  3.|-- 200.164.40.95              0.0%    10   46.1  51.0  22.4  79.8  18.0
  4.|-- 200.223.131.78             0.0%    10   68.4  87.3  68.4 115.0  14.0
  5.|-- 200.199.54.180             0.0%    10   80.5  85.0  65.6 130.0  18.4
  6.|-- 72.14.195.126             10.0%    10   83.9  83.9  69.4  95.9   9.7
  7.|-- 209.85.254.136             0.0%    10  108.4 116.7 108.4 126.3   6.2
  8.|-- 209.85.245.229             0.0%    10   88.2  78.3  68.1  88.2   7.5
  9.|-- 173.194.118.87             0.0%    10   79.7  77.9  68.2  92.1   9.1

No exemplo, acima, o mtr rodou por 10 ciclos, recolheu as informações e as exibiu antes de finalizar.
Você pode alterar a quantidade de ciclos, com a opção -c.

Entenda a saída do comando mtr

Segue o significado de cada coluna no relatório visto:

  • Loss% — mostra a perda, em percentual, dos pacotes, a cada ciclo
  • Snt — exibe o número de pacotes enviados (sent)
  • Last — latência do último (last) pacote enviado
  • Avg — latência média (average) de todos os pacotes
  • Best — mostra o tempo de viagem (Round Trip Time) mais curto da origem ao destino
  • Wrst — mostra o pior tempo de viagem da origem ao destino (worst RTT)
  • StDev — provê o desvio padrão (Standard Deviation) das latências para cada host

Uma boa dica, aqui, é prestar atenção no StDev, mesmo que o Avg pareça bom.
Os indicadores, como qualquer estatística, só funcionam se estiverem “entrelaçados”.
Um StDev alto é indício de que o Avg está distorcido por alguns erros de medição ou por excesso de flutuação. Neste caso, observe as colunas Best e Wrst para se certificar de que a média está boa.

Conclusão

O manual do comando alerta para o fato de que alguns roteadores dão baixa prioridade a pacotes ICMP ECHO, em favor de outros tipos de tráfego na rede.
A consequência disto é que a confiabilidade dos resultados provenientes destes roteadores pode ser comprometida.
Você pode obter maiores informações na página oficial do aplicativo em http://www.bitwizard.nl/mtr/ ou na página do manual:

man mtr

Compartilhe! 😉

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

5 comentários sobre “Combine os comandos PING e TRACEROUTE no Linux, usando o MTR”

  1. olá, queria saber o que mudou e qual o comando que eu teria que usar para habilitar o roteamento de pacotes no Ubuntu 14.04, quando faço a ligação de mais de uma rede, não consigo pingar em uma maquina de outra rede.

    ex.
    rede 1 recebe pacote da rede 2 mas não recebe pacote da rede 3, ou vise versa

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *