
Combina traceroute e ping em uma única ferramenta de diagnóstico de rede que sonda caminhos, mede latência e relata estatísticas por salto para solucionar problemas de conectividade.
O mtr combina a funcionalidade dos programas 'traceroute' e 'ping' em uma única ferramenta de diagnóstico de rede.
Quando o mtr é iniciado, ele investiga a conexão de rede entre o host onde o mtr é executado e um host de destino especificado pelo usuário. Ele envia sondas para o destino com valores de tempo-de-vida sucessivamente maiores e usa as respostas dos roteadores intermediários para descobrir e medir o caminho. Enquanto faz isso, ele exibe estatísticas em execução para cada salto.
Roteadores intermediários podem ser configurados para nunca enviar essas respostas ICMP, ou podem limitar a taxa delas, então a perda aparente em um salto intermediário nem sempre significa que o tráfego encaminhado está sendo perdido naquele ponto.
O mtr é distribuído sob a Licença Pública Geral GNU versão 2. Consulte o arquivo COPYING para obter detalhes.
Se você está compilando a partir de um tarball, compilar o mtr é tão simples quanto:
./configure && make
Por favor, note que isso se refere aos tarballs de https://www.bitwizard.nl/mtr/files/ e não aos tarballs que o github pode produzir.
(no passado, havia um Makefile na distribuição que fazia
o ./configure para você e então executava make novamente com o Makefile
gerado, mas isso sofreu alguma deterioração. Não funcionava bem
com o git.)
Se você está compilando a partir do repositório git, precisará executar:
./bootstrap.sh && ./configure && make
Quando parecer que a compilação foi bem-sucedida, você pode testar o mtr com
sudo ./mtr <host>
(preencha um nome de host ou endereço IP onde diz <host>) ou
continue imediatamente com a instalação:
make install
Note que o mtr-packet deve ter suid-root porque requer acesso a sockets IP brutos. Veja SECURITY para informações de segurança.
Versões mais antigas costumavam exigir um caminho inexistente para GTK para
uma compilação correta de uma versão sem gtk enquanto o GTK estava instalado. Isso não
é mais necessário. ./configure --without-gtk deve funcionar agora.
Se não funcionar, tente make WITHOUT_X11=YES como etapa do make.
No Solaris, você precisará usar o GNU make para compilar.
(Use gmake em vez de make.)
No Solaris (e possivelmente em outros sistemas) a biblioteca "gtk" pode estar
instalada em um diretório onde o vinculador dinâmico se recusa a procurar quando
um binário é setuid. Roman Shterenzon relata que adicionar
-Wl,-rpath=/usr/lib
à linha de comando funcionará se você estiver usando o gnu LD. Ele me diz que
você está sem sorte se usar o sun LD. Isso não é totalmente verdade, pois
você pode mover as bibliotecas gtk para /usr/lib em vez de deixá-las em
/usr/local/lib. (quando o ld diz que /usr/local/lib não é confiável
e /usr/lib é confiável, e você confia nas bibliotecas gtk o suficiente para querê-las
em um programa setuid, então há algo a dizer sobre movê-las
para o diretório "confiável".)
Compilar no MacOS não deve exigir etapas especiais.
Usar o mtr no Windows requer o Subsistema Windows para Linux (WSL).
Para instalar o WSL com a distribuição Ubuntu (Padrão), veja
Como instalar o Linux no Windows com WSL.
Após concluir o processo inicial, simples como:
sudo apt-get -y install mtr
Se você preferir o método tradicional. Obtenha o Cygwin, veja https://cygwin.com/install.html.
Em seguida, execute novamente o setup-x86.exe (ou setup-x86_64.exe se você estiver usando cygwin 64 bits) do cygwin com os seguintes argumentos,
que instalarão os pacotes necessários para a compilação:
setup-x86.exe --package-manager --wait --packages automake,pkg-config,make,gcc-core,libncurses-devel,libjansson-devel
Compile como no Unix:
./bootstrap.sh && ./configure && make
Finalmente, instale os binários compilados:
make install
O mtr agora está hospedado no github. https://github.com/traviscross/mtr
Veja a página web do mtr em http://www.BitWizard.nl/mtr/
Relatórios de bugs e solicitações de recursos devem ser submetidos ao sistema de acompanhamento de bugs do Github.
Patches podem ser enviados clonando o repositório Github e emitindo um pull request, ou por e-mail para mim. Por favor, use diffs unificados. Geralmente o diff é meio bagunçado, então verifique se o diff está limpo e não contém muito do seu material local (por exemplo, não quero/preciso do script "configure" que /seu/ automake fez para você).
(Costumava haver uma lista de discussão, mas tudo que recebia era spam. Então quando o servidor foi atualizado, a lista de discussão morreu.)
REW