19.09.2024

Como usar o traceroute no Linux?

O Traceroute é uma ferramenta para testar o caminho da conexão de rede entre dispositivos. Sua principal função é exibir uma lista de dispositivos envolvidos na transmissão de pacotes até o ponto de destino. Ele opera nos protocolos de camada de rede e transporte: TCP, UDP e ICMP. Além disso, diferentemente do utilitário ping, ele pode ser utilizado para mapear a rede.

Qual é o princípio de funcionamento?

Para que os dispositivos se comuniquem na rede, existem várias regras que regem a transmissão de informações. Uma dessas regras exige a adição de um parâmetro TTL a cada pacote transmitido, que tem um valor padrão de 128 para PCs e 64 para dispositivos móveis. A cada vez que um pacote passa por um roteador, o valor do TTL é reduzido, para evitar que o pacote entre em loop. Quando o valor chega a 0, o roteador exclui o pacote e envia de volta um pacote Time Exceed. Assim, o princípio de funcionamento é o seguinte: o traceroute envia pacotes ICMP com os parâmetros TTL=1, TTL=2, TTL=3 e assim por diante; quando o nó responde com Time Exceed, o utilitário registra esse nó.

Como instalar o traceroute?

Antes de instalar o utilitário, é necessário verificar se ele já está disponível no seu dispositivo, consultando o gerenciador de pacotes. Para distribuições que utilizam o gerenciador apt:

apt list | grep "traceroute"

Se você estiver usando um gerenciador de pacotes do tipo RPM, o comando será:

dnf list | grep "traceroute"

Screenshot №1 — Instalando o traceroute

Utilizamos o gerenciador de pacotes para a instalação:

apt update && apt upgrade \
apt install traceroute -y

Para um gerenciador do tipo RPM, use os comandos correspondentes:

dnf update && dnf upgrade \
dnf install traceroute -y

Atualize os repositórios, instale o utilitário e consulte a ajuda para selecionar opções úteis na lista completa:

traceroute

Screenshot №2 — Página de ajuda

Esta lista fornece todas as opções que podem ser utilizadas. As opções -4 e -6 permitem especificar o tipo de protocolo usado, seja IPv4 ou IPv6. Para que os pacotes não sejam fragmentados, mas transmitidos inteiramente, usa-se a opção -F. Para alterar o protocolo usado na pesquisa dos nós, você pode utilizar as opções -T para pacotes TCP, -I para conexões ICMP, sendo o UDP o padrão.

Exemplos de uso do utilitário

Para verificar o caminho até um nó, você deve escrever um comando que aponte para o nó de destino:

traceroute google.com

Screenshot №3 — Traceroute UDP

O screenshot mostra o caminho completo dos roteadores e dispositivos de redirecionamento que o pacote percorreu. Com base nisso, é possível inferir quais redes estão aninhadas umas nas outras e quais estão no mesmo nível.

Às vezes, os pacotes de resposta não chegam e asteriscos aparecem no lugar do nó, como na linha 5 do screenshot. Isso ocorre porque o nó fechou as portas para conexão com o protocolo utilizado. Nesses casos, você pode tentar uma conexão TCP ou ICMP. Por exemplo, para verificar a 5ª linha para google.com, use:

traceroute -T google.com

Screenshot №4 — Traceroute TCP

Todos os passos descritos no tutorial podem ser realizados em servidores em nuvem de alto desempenho. A Serverspace oferece servidores VPS isolados para uso comum e virtualizado.

Screenshot №5 — Criar Servidor

Levará algum tempo para configurar a capacidade do servidor. Após isso, você poderá se conectar de qualquer forma conveniente!