Traceroute é uma ferramenta no Linux que permite investigar as rotas de pacotes de rede. Pode ajudá -lo a identificar o fator limitador das viagens de pacotes de rede. Traceroute também é útil para solucionar problemas de rede lenta de rede. Este guia mostra como correr traceroute no Linux.
Sobre o Traceroute
O Traceroute funciona enviando pacotes de dados para o computador, servidor ou site de destino e registrando quaisquer etapas intermediárias através das quais os pacotes viajam. A saída de um comando traceroute será os endereços IP e nomes de domínio através dos quais os pacotes passam. Essas entradas também mostram quanto tempo leva para os pacotes chegarem a cada destino. Isso pode explicar por que alguns sites podem levar mais tempo para carregar do que outros, pois o número de lúpulos de tráfego pode variar.
Traceroute também é útil para mapear redes locais. É encontrada uma visão da topologia e conexões da rede local ao executar a ferramenta.
Observe que, ao usar o Traceroute, alguns dispositivos podem não interagir bem. Isso pode ser devido ao fato de os roteadores serem incorporados, mensagens ICMP com limitação de taxa ISPS, dispositivos configurados para não enviar pacotes ICMP (para evitar ataques de DOS distribuídos), etc. Algumas redes também estão configuradas para bloquear solicitações de traceroute.
Instalando o Traceroute
Traceroute é uma ferramenta poderosa que está disponível para todas. Abaixo está uma pequena lista dos comandos para instalar o Traceroute em várias distribuições.
Para Debian/Ubuntu e derivados:
$ sudo apt install traceroute -y
Para Fedora e derivados:
$ sudo dnf install traceroute
Para OpenSuse, SUSE Linux, e derivados:
$ sudo zypper em traceroute
Para Arch Linux e derivados:
$ sudo pacman -s traceroute
Usando o traceroute
As seções a seguir mostram como usar o Traceroute em seu sistema Linux.
Uso básico
O método principal para usar o traceroute é bastante simples. Todo o traceroute requer é o destino para executar a sondagem. O destino pode ser um domínio ou um endereço IP.
$ traceroute linuxhint.com
$ traceroute 8.8.8.8
Se uma rede estiver configurada para bloquear o sinal do traceroute, esta sonda será indicada com asteriscos.
IPv4 ou IPv6
Por padrão, o Traceroute usará o protocolo da Internet padrão com o qual seu sistema está configurado. Para definir manualmente a versão IP, siga o procedimento abaixo.
Para dizer ao Traceroute para usar o IPv4, use o sinalizador "-4":
$ traceroute -4 linuxhint.com
Para dizer ao Traceroute para usar o IPv6, use o sinalizador "-6":
$ traceroute -6 Linuxhint.com
Portas de teste
Se houver necessidade de testar uma porta específica, a porta poderá ser especificada usando o sinalizador "-p". Para rastreamento de UDP, o traceroute começará com o valor fornecido e aumentará com cada sonda. Para rastreamento do ICMP, o valor determinará o valor inicial da sequência ICMP. Para o TCP e outros, esta será a porta de destino constante para se conectar.
$ traceroute -p192.168.0.1
Hiding Disposited Nomes
Em algumas situações, os nomes dos dispositivos na saída podem fazer com que a saída pareça confusa. Para mais clareza, você pode ocultar os nomes de dispositivos da saída. Para fazer isso, use a bandeira "-n" (sem mapeamento):
$ traceroute -n linuxhint.com
Limite de tempo limite do traceroute
Por padrão, o traceroute aguarda 5 segundos para receber uma resposta. Em determinadas situações, você pode mudar o tempo de espera para ser maior ou menos de 5 segundos. Para fazer isso, use a bandeira "-w". Observe que o valor do tempo é um número de ponto flutuante.
$ traceroute -W 6.0 Linuxhint.com
Métodos de sondagem
Existem vários métodos que você pode usar para investigar o endereço remoto. Para especificar o Traceroute para usar o ICMP Echo, use a bandeira "-i":
$ traceroute -i linuxhint.com
Para usar o TCP Syn para sondagem, use o sinalizador "-t":
$ sudo traceroute -t linuxhint.com
Definindo o número máximo de saltos
Por padrão, o Traceroute rastreará 30 saltos. Traceroute oferece a capacidade de definir manualmente o número de lúpulos para rastrear.
Use a bandeira "-m" com o número de lúpulos:
$ traceroute -i -m 10 linuxhint.com
Especificando a interface
Se houver várias interfaces de rede conectadas ao computador, pode ajudar a especificar a interface de rede a ser usada para enviar pacotes. Para especificar a interface de rede, use o sinalizador "-i":
$ sudo traceroute -i ENP0S3 Linuxhint.com
Definindo o número de consultas para um salto
Para definir o número de consultas para um salto, especifique esse número usando o sinalizador "-q":
$ traceroute -i -q 4 linuxhint.com
Pacotes de roteamento através de um gateway
Para rotear os pacotes através de um determinado gateway, use a opção "-g", seguida pelo gateway:
$ traceroute -i -g 192.168.0.1 Linuxhint.com
Página de ajuda traceroute
As demonstrações acima são apenas alguns dos usos comuns do traceroute, e há ainda mais recursos para você usar. Para obter ajuda rápida, abra a página de ajuda do Traceroute com o seguinte comando:
$ traceroute -Help
Para um guia mais completo e mais aprofundado sobre todas as opções de traceroute disponíveis, confira a página do homem com o seguinte comando:
$ man traceroute
Conclusão
Traceroute é uma ferramenta poderosa usada para diagnósticos de rede, e há toneladas de opções que ele suporta. Mastering Traceroute pode exigir algum tempo e prática. Ao usar esta ferramenta, você geralmente emprega os métodos descritos neste artigo.
Existem mais ferramentas como o Traceroute por aí. Se você deseja trabalhar com uma ferramenta semelhante na GUI, consulte o Zenmap para digitalizar uma rede. Zenmap é um front-end da GUI para outro scanner de rede popular chamado NMAP.
Computação feliz!