Tracert: como rastrear rotas com traceroute

O Tracert, mais conhecido como Traceroute no Linux, é uma ferramenta utilitária para diagnóstico de rede, usada através de linha de comando. Sua função é mapear a rota, ou seja, o caminho de pacotes de um cliente até um servidor na internet.

Além de mapear o trajeto, ele também mapeia os tempos que os pacotes levam para chegar da origem ao destino.

Um resumo de como o tracert funciona

O Traceroute utiliza o rastreamento via IP como base para detalhar a rota entre origem e destino. Dessa forma, ele mostra o desempenho da comunicação a cada ponto pelo qual o pacote de dados enviado percorre.

Isso permite que os usuários administradores de rede resolvam problemas de gargalo na conectividade da melhor forma.

Em um cenário onde há conexão intermitente, este utilitário ajudará a apontar com maior precisão o motivo do erro. Ou seja, ele mostra em qual ponto do caminho está o problema.

Cada salto de uma rota de rede pode corresponder a diferentes dispositivos. Os dispositivos mais comuns são roteadores, mas também podem ser switches, firewalls e proxies.

Por exemplo, você tem seu computador conectado no Brasil e através dele você tente conectar a um servidor em Nova York.

Nesse sentido, quando você executar o Traceroute, ele detalhará o caminho todo. Cada salto, contabilizando o tempo que levou em cada um, de sua conexão até este destino internacional.

Por exemplo, o Tracert pode ser usado tanto em servidores VPS como em servidores de hospedagem de sites.

Como usar o comando Tracert no Windows

Fazendo parte de forma nativa do Windows, o Tracert funciona idêntico ao Traceroute no Linux. Porém, a lista de opções adicionais é um pouco menor da que temos disponíveis no Linux com o Traceroute.

Para usar o Tracert, você precisará abrir o terminal de comandos do Windows, conhecido como Prompt de Comando.

Confira a sintaxe do comando e suas opções:

sintaxe do tracert

Como acessar o Prompt de Comando no Windows

Para acessar o Prompt de Comando, pressione e segure a tecla com o símbolo Windows + a tecla R.

Com isso, será aberta a caixa do programa Executar. Então, digite cmd e clique em OK.

cmd no windows

O Prompt de Comando será carregado, com a tela semelhante a essa:

prompt de comandos do windows

Como executar o comando Tracert no Windows

Com o Prompt de Comando aberto, basta executar a seguinte sintaxe de comando:

C:>tracert google.com.br
tracert do windows

Como você pode perceber, ficou um pouco dificil para interpretarmos cada salto. Isso ocorre devido ao resultado do comando ter listado somente endereços IPV6.

Para que o comando se torne mais amigável e com maior facilidade de entendimento, adicione a opção -4.

tracert -4 google.com.br

Agora sim, terá o relatório dos saltos com seus respectivos IP e hosts, quando disponíveis.

Como instalar o Tracert no Linux

Em algumas distribuições Linux, mesmo as mais recentes, o Traceroute não vem instalado por padrão.

Portanto, você precisará fazer a instalação para poder utilizá-lo.

Sendo assim, você deve executar a seguinte sintaxe para instalar em distribuições baseadas em Debian, como no Ubuntu:

$ sudo  apt install traceroute
instalar traceroute no ubuntu

Em distribuições baseadas em RedHat, como no CentOS, este será o comando:

$ sudo yum install traceroute
instalando o traceroute no CentOS

Enfim, o utilitário estará pronto para que você possa usá-lo.

Como usar o comando Tracert no Linux

O Traceroute é muito útil para um diagnóstico rápido do desempenho de uma rota de conexão entre redes.

Sendo assim, mesmo na sua forma mais simples de execução, ele nos ajudar a ter uma visão. Basicamente, sobre a qualidade da conexão entre origem e destino.

Portanto, iniciaremos com a execução do comando em sua forma mais simples.

Como citado até aqui, no Linux, o Tracert é conhecido como Traceroute.

Este comando é executado da mesma forma em qualquer distribuição Linux.

Além disso, o Tracert é o comando nativo apenas dos sistemas operacionais Windows.

Então, para que você possa iniciar a prática, abra o terminal do Linux em sua máquina. Por exemplo, você pode usar o terminal de um VPS com Linux. Ou então, uma máquina virtual em seu desktop local ou outro tipo de servidor remoto que lhe permita executar comandos via terminal.

Execute a sintaxe:

$ traceroute google.com
usando o tracert no Linux

Vamos analisar alguns pontos, a começar pela primeira linha:

Nessa linha, você pode conferir que o comando identificou que o destino google.com possui o endereço IP 172.217.173.67, quando o comando começou sua execução.

Logo afrente, é informado o número máximo de saltos que o comando traceroute poderá fazer como tentativas de chegar ao destino 172.217.173.67, se ao final das 30 tentativas não houver êxito, o comando é parado.

Em seguida, você pode conferir que o tamanho dos pacotes UDP enviados pelo comando são de 60 bytes por padrão.

Na continuação da saída, começando pelo salto número 1, são exibidos os endereços IP de cada dispositivo de rede. São os locais pelos quais os pacotes obtiveram êxito em passar. Em alguns dos saltos, há inclusive o nome de host do dispositivo.

Ocultando nomes de dispositivos com o Tracert

Em toda rota de rede é muito comum haver alguns equipamentos que exibam seus nomes, além dos endereços IP.

De certa forma, o resultado do Tracert no Linux fica bastante desalinhado, atrapalhando um pouco da interpretação.

Como meio de facilitar a visualização dos dados, você pode fazer uso da opção -n. Sendo assim, fará a ocultação dos nomes dos dispositivos.

Sintaxe do comando:

$ traceroute -n google.com
ocultar dispositivos com o traceroute

Você pode perceber que agora, com somente os endereços IP sendo mostrados, ficou um resultado bem mais organizado e fácil para o entendimento.

Limitar a quantidade máxima de saltos do Tracert

Em algumas situações, você pode não necessitar de executar o Traceroute por completo com o padrão de 30 saltos.

Sendo assim, você pode delimitar o número de saltos em que o comando irá processar.

Para tanto, basta você utilizar o parâmetro -m seguido da quantidade de saltos desejados.

Sintaxe do comando:

$ traceroute -m 5 google.com
limitando os saltos do tracert

Como você pode conferir, a saída resultou apenas nos 5 primeiros saltos, nos 5 primeiros roteadores da rota.

Portanto, ao usar a opção -m, procure aumentar a quantidade de saltos para atender aos requisitos de seu teste, sempre que precisar.

Testar uma porta com o Traceroute

Quando nos habituamos a configurar servidores e aplicações, adquirimos o conhecimento sobre quais portas vêm configuradas por padrão em cada serviço ou sistema.

Porém, há a liberdade de configurarmos qualquer outra porta no lugar de uma porta padrão.

Tal ação de troca de porta é muito executada em dispositivos de redes como medida de segurança.

Vamos usar a opção -p seguido do número de uma porta. Podemos assim fazer com que o Traceroute envie pacotes através de uma porta que não seja seu padrão.

Em relação ao padrão, a porta 33434 é associada ao Traceroute e é usada tanto para comunicações TCP quanto UDP.

O comando Traceroute usa essa porta como padrão para enviar pacotes UDP. Eles medem a rota e os tempos de resposta entre o host de origem e o destino.

A porta 33434 é o número de porta amplamente reconhecido e padronizado para esse uso específico.

Sintaxe do comando e saída:

$ traceroute -p 80 google.com
testar portas com o traceroute

Você pode observar nessa saída, que a resposta do primeiro ao quarto salto obteve êxito. Tudo OK com relação ao aceite dos pacotes enviados através do uso da porta 80.

Do quinto salto em diante, os pacotes foram ignorados. Se comportando da mesma forma até o limite de teste, no caso o salto 30.

Agora, como comparativo e para esclarecer qualquer dúvida, vamos executar o mesmo teste se uso da opção -p e número de porta.

Sintaxe e saída do comando:

$ traceroute google.com
traceroute para o google

A saída do comando deixa esclarecido que não houve problema significativo entre origem e destino. Logo, a rota foi completada do início ao fim.

Além disso, analisando a cada salto, o tempo que os pacotes levaram em cada salto está baixo. Logo, não se trata de latência de alguma rede.

Alterar o tempo de espera do Tracert no Linux

Essa é mais uma opção para executar o Traceroute de uma forma mais veloz.

Você pode reduzir o tempo padrão que o Traceroute usa como espera para enviar pacotes salto a salto.

Para tanto, poderá fazer uso da opção -w seguida do tempo desejado.

Exemplo de sintaxe e saída:

$ traceroute google.com -w 2.0
alterar o tempo de espera do tracert no linux

Dessa forma, definimos que o Traceroute deverá aguardar somente 2 segundos pela resposta a cada salto.

Alterar o limite do TTL do Tracert no Linux

O Traceroute começa o mapeamento de rota a partir do salto de valor 1. Contudo, algumas informações na rota são desnecessárias. Podemos ocultá-las na tela, mostrando apenas os saltos que queremos.

Para tanto, usamos a opção -f seguida do valor do TTL no qual queremos que o mapeamento inicie.

Por exemplo, considere a seguinte sintaxe e saída:

$ traceroute google.com -f 4
alterar o limite do ttl

Podemos constatar que o TTL foi contabilizado a partir do quarto salto. Em seguida, parou no sexto salto, endereço do roteador da rede do IP de destino.

Alterar o tamanho do pacote enviado pelo Tracert no Linux

O tamanho do pacote enviado pelo Traceroute possui o padrão de 60 bytes.

Você pode alterar o valor desse pacote para qualquer outro que desejar, conseguindo testar ainda mais o desempenho de uma rota de rede.

Sintaxe e saída:

$ traceroute google.com 100
modificar o tamanho do pacote enviado pelo tracert

Definir a quantidade de pacotes que analisam cada salto

A cada salto, o Traceroute faz o envio de 3 pacotes UDP para o roteador responsável pelo salto.

Através da opção -q é possível mudar a quantidade desses pacotes, adicionando ou diminuindo sua quantidade.

Diminuir a quantidade desses pacotes UDP de checagem por salto, irá acelerar o processamento do Traceroute.

Portanto, na continuação dos testes, você pode definir o valor 1 após a opção -q.

Sintaxe do comando:

$ traceroute -q 1 google.com
alterar a quantidade de pacotes de análise.

Durante a execução do comando com essa opção, você pode observar que a velocidade foi bem maior que outros testes anteriores.

Armazenar o resultado do Traceroute em arquivo de texto

Nas situações em que você necessite salvar o resultado em arquivo de texto, poderá fazer uso do caractere “>”.

Por exemplo, você poderá usar a seguinte sintaxe:

$ traceroute google.com > resultados_traceroute.txt

A sintaxe acima poderá ser incrementada com qualquer uma das opções complementares do comando, como por exemplo, a opção -p seguida da porta.

$ traceroute -p 1515 google.com > resultados_traceroute.txt

A cada vez em que você executar o comando, o resultado armazenado no mesmo arquivo se sobrescreve.

Como funciona o tracert

De modo geral, o Traceroute funciona através do uso de pacotes de echo ICMP (Internet Control Message Protocol). Pore ocorrer variação no valor de seu TTL (Time to Live).

Quando você executa o Traceroute, a cada salto em que o pacote ICMP passa, há uma consulta que é feita diversas vezes. Logo, resulta em maior precisão possível no cálculo do tempo levado para passar por aquele salto.

A ferramenta Linux Traceroute opera executando a manipulação do TTL. Entretanto, a função do TTL é limitar por quanto tempo os dados poderão permanecer em uma comunicação de rede.

A cada pacote enviado pelo comando, um valor TTL é atribuído logo de início.

Deste valor total do TTL, há a subtração do valor igual a 1 sempre quando o pacote passa por um salto no trajeto. Tudo até chegar à máquina de destino.

O roteador é o equipamento responsável por subtrair os valores do TTL. Quando o valor do TTL chegar a zero, o roteador fica encarregado de emitir uma mensagem de erro ICMP. Por sua vez, ela é direcionada ao IP de origem que gerou o pacote, conhecida popularmente como “tempo excedido”.

Como funciona o tracert no Linux

Quando o erro “tempo excedido” é retornado no terminal, é registrada a identidade do roteador e o tempo decorrido entre ida e volta. Logo, há o incremento do valor do TTL e o envio de novos pacotes para o próximo salto.

Este processo se repete até o salto final, quando por fim, o último pacote alcança o IP de destino.

Considerações finais

O utilitário Traceroute no Linux, também conhecido como Tracert, é uma ótima ferramenta para análise do roteamento de rede. Também é útil para checagem da velocidade da conexão e identificação de gargalos.

Presente nas mais variadas distribuições Linux, sempre que você utilizar este utilitário fará uso destes métodos providos pela ferramenta.

Por fim, confira mais opções para usar com o Traceroute, entre outras informações, consultando a página do manual da ferramenta.

Este artigo foi útil?

Obrigado pela resposta!
Marcio S

Marcio S

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!