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.
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
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:
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
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! 😉
5 replies on “Combine os comandos PING e TRACEROUTE no Linux, usando o MTR”
Excelente!
Suas dicas são muito claras e de grande ajuda!!
Muito bom sua postagem, a partir de agora vou ler com frequência seu site.
Obrigado! 😉
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