Tracert: como rastrear rotas com traceroute

O Tracert, também 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.

Neste artigo vamos explicar tudo sobre como funciona o tracert, bem como apresentar suas alternativas como o WinMTR e PingPlotter. São ótimas ferramentas para diagnosticas problemas de lentidão ou falta de comunicação de rede.

tracert

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 rota, lentidão ou falta de acesso na conectividade entre servidores.

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.

Passo a passo do tracert

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.

  1. Envio de Pacotes: O tracert envia pacotes ICMP Echo Request (ou UDP em algumas implementações) para o endereço IP de destino.
  2. TTL (Time to Live): O primeiro pacote enviado tem o valor TTL definido como 1. O TTL é um campo que determina o número máximo de saltos (hops) que o pacote pode fazer.
  3. Primeiro Roteador: Quando o pacote chega ao primeiro roteador, este decrementa o valor do TTL em 1. Como o TTL chega a 0, o roteador descarta o pacote e envia uma mensagem ICMP Time Exceeded de volta para o remetente.
  4. Registro de Informações: O tracert registra o endereço IP do roteador que respondeu e o tempo que levou para receber essa resposta.
  5. Incremento do TTL: O processo se repete com o tracert enviando um novo pacote, mas agora com o TTL incrementado em 1. Isso continua até que o pacote atinja o destino final ou um número máximo de saltos seja alcançado.
  6. Destino Alcançado: Quando o pacote finalmente chega ao destino, o servidor de destino responde com uma mensagem ICMP Echo Reply. O tracert registra esta resposta e mostra o caminho completo que o pacote percorreu.
  7. Exibição dos Resultados: Ao final do processo, o tracert exibe uma lista de todos os roteadores intermediários, juntamente com os tempos de resposta, permitindo ao usuário visualizar o trajeto e identificar possíveis pontos de latência ou falhas.

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.

Alternativa 1 – PingPlotter

O PingPlotter se destaca em relação ao Tracert por apresentar informações de rede de forma gráfica e fácil de entender. Enquanto o Tracert exibe uma lista textual dos “hops” na rota, o PingPlotter utiliza gráficos de linha que mostram a variação de latência e perda de pacotes ao longo do tempo, facilitando a identificação de problemas intermitentes e picos de lentidão.

Essa abordagem visual torna mais simples compreender o comportamento da rede e observar tendências, algo que o Tracert, por ser uma análise pontual, não oferece com a mesma clareza.

Outra vantagem do PingPlotter é sua capacidade de monitoramento contínuo, registrando dados de rede durante um período prolongado, o que ajuda a diagnosticar problemas que surgem de maneira ocasional, como congestionamentos temporários.

Esse monitoramento em tempo real permite uma análise aprofundada do desempenho da conexão, ajudando a detectar falhas que ocorrem de forma esporádica. Assim, o PingPlotter fornece uma visão detalhada e abrangente da estabilidade e qualidade da rede, enquanto o Tracert se limita a um retrato imediato da rota.

PingPlotter

Site: https://www.pingplotter.com/products/standard/

Alternativa 2 – WinMTR

O WinMTR combina as funções do Tracert e do Ping em uma só ferramenta, permitindo um diagnóstico mais completo e em tempo real da rota de rede. Diferente do Tracert, que realiza uma única verificação da rota, o WinMTR faz uma análise contínua, atualizando a latência e a perda de pacotes em cada “hop” ao longo do tempo.

Isso facilita a identificação de problemas de forma mais precisa, especialmente aqueles que ocorrem de maneira intermitente ou que variam com o tempo, como picos de latência temporários.

Além disso, o WinMTR apresenta os dados de uma forma estruturada e acessível, com uma interface gráfica que mostra estatísticas detalhadas de cada ponto da conexão. Isso ajuda a visualizar rapidamente onde estão os gargalos ou falhas, enquanto o Tracert exibe apenas uma lista simples e estática dos pontos na rota.

Assim, o WinMTR é ideal para uma análise detalhada e contínua do desempenho da rede, oferecendo uma vantagem significativa na resolução de problemas de conectividade complexos.

WinMTR

Site: https://winmtr.net/

Operações avançadas com o Tracert

Ocultando nomes de dispositivos

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

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

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.

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!
Picture of Gustavo Gallas

Gustavo Gallas

Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do Bóris, seu pet de estimação. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos técnicos.

Contato: gustavo.blog@homehost.com.br

Ganhe 30% OFF

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