O que é Traceroute e para que você o utiliza?

À medida que você usa a Internet, é muito fácil esquecer que existem muitas partes funcionais e servidores que ajudam a manter a World Wide Web viva. Cada pacote que você envia, desde uma mensagem de bate-papo até uma foto de gato, precisa passar por exchanges e servidores para chegar ao seu destino.

Infelizmente, nada lembra melhor essa configuração do que quando você não consegue mais se conectar a um site. A causa pode estar em algum lugar do seu lado, do site ou em algum lugar intermediário. E a melhor maneira de descobrir onde está o problema é usando o Traceroute.

O que é Traceroute?

Traceroute é uma forma de rastrear a rota que seus pacotes de dados percorrem à medida que percorrem a Internet. Todo sistema operacional moderno pode traçar uma rota.

Ao iniciar um Traceroute, você informa para qual site ou servidor deseja rastrear uma rota. Normalmente, este é o URL de um site que você está tentando acessar, mas você também pode fornecer um endereço IP, se desejar.

Depois de iniciar o Traceroute, ele envia pacotes para o destino definido. Em seguida, ele registra as viagens do pacote e envia as informações de volta ao seu PC, que mostra para onde eles estão indo.

Isso é realmente útil se você estiver tentando encontrar uma falha na rede. Se um servidor ou exchange estiver inativo, o Traceroute encontrará o problema e informará que algo não está funcionando corretamente. Você pode então usar essas informações para diagnosticar melhor o que está errado.

  Como criar uma lista suspensa no Planilhas Google

Como funciona o Traceroute?

Traceroute é uma maneira prática de diagnosticar erros de rede. No entanto, a invenção do Traceroute se deve a uma exploração inteligente usando a variável “Time-to-Live” de um pacote.

O que é o “tempo de vida” de um pacote?

Idealmente, quando um computador envia um pacote de um lugar para outro, ele chega lá sem problemas. Ele segue o caminho mais rápido possível do ponto A ao ponto B e não fica preso ou preso.

Infelizmente, as redes podem ser complicadas. Se um engenheiro cometer um erro ao configurar um servidor, é possível que os pacotes sejam enviados em um loop infinito entre servidores. E se isso acontecer com muita frequência, uma rede pode ficar cheia de pacotes girando e girando para sempre.

As mentes inteligentes por trás do pacote de dados criaram uma solução para corrigir isso, chamada “time-to-live” ou “TTL”. Cada pacote, antes de ser enviado para o grande desconhecido, recebe um número maior que 0 para seu valor TTL. Se esse valor chegar a 0, o pacote será considerado “morto” e destruído.

Quando o pacote é enviado em sua jornada, ele fará diversas paradas em diferentes servidores. Cada vez que chega a um servidor, ele subtrai um de seu valor TTL. Normalmente, esse valor de TTL é definido como um número em que o pacote tem tempo mais que suficiente para chegar ao seu destino antes de atingir 0. No entanto, se o pacote entrar em um loop, o TTL acabará diminuindo até que o pacote expire.

Quando um pacote expira, o servidor com o qual ele termina envia o que é chamado de mensagem “ICMP Time Exceeded” de volta para casa. Este é essencialmente um aviso de que o pacote morreu prematuramente e informa ao usuário onde o pacote expirou para ajudar na solução de problemas.

Como funciona o rastreamento de rota permitido pelo tempo de vida de um pacote

Esta mensagem ICMP Time Exceeded é a chave para fazer o Traceroute funcionar. Para começar, o Traceroute envia um pacote com um TTL definido como 1. Isso significa que ele sai do seu PC, chega ao primeiro servidor, subtrai um do seu TTL, percebe que tem um TTL de 0 e expira.

  Guia passo a passo para cientistas de dados

O servidor que manipula o pacote no momento envia uma mensagem ICMP Time Exceeded de volta ao seu PC, junto com sua localização. Seu PC então registra a localização do servidor como o primeiro passo em direção ao seu destino.

Em seguida, ele envia um pacote com TTL definido como 2, 3 e assim por diante até que o pacote chegue ao seu destino. Cada pacote expirará na próxima etapa da passagem, e cada servidor ao longo do caminho reportará o pacote expirado, dando ao seu PC as informações necessárias para saber para onde seus pacotes estão indo.

Para que é usado o Traceroute?

Em um nível básico, o Traceroute permite dar uma olhada em como os pacotes se movem em uma rede. Quer você seja um engenheiro de rede verificando se tudo flui como deveria ou esteja apenas interessado em como seus pacotes viajam quando você visita o Google, o Traceroute é o caminho a percorrer.

No entanto, também é útil para detectar erros no sistema. Se o Traceroute tentar entrar em contato com um servidor que não responde, ele notará que o pacote enviado não acionou uma resposta por um tempo. Passado o tempo suficiente, o Traceroute declara que a “Solicitação expirou”, o que significa que a resposta não chegou no tempo previsto.

É claro que uma solicitação expirada nem sempre significa que o servidor está inativo; às vezes, o servidor não gosta das solicitações do Traceroute e as bloqueia à medida que chegam. Mas se você estiver relativamente certo de que nenhum servidor na cadeia deve bloquear um Traceroute, é uma boa maneira de diagnosticar um site ou servidor que não responde quando você tenta se conectar a ele.

  Tudo que você precisa saber

Qual é a diferença entre Traceroute e Ping?

Leitores tecnicamente experientes perceberão que o Traceroute parece muito semelhante a outra ferramenta de rede útil, o Ping. No entanto, embora os dois recursos se sobreponham um pouco, as pessoas os usam por motivos diferentes.

Como abordamos acima, o Traceroute ajuda você a descobrir para onde vai um pacote quando sai do seu PC. Enquanto isso, o Ping informa se o seu PC pode acessar um servidor específico e quanto tempo leva para chegar lá.

Dessa forma, se você quiser ver todas as partes da cadeia de rede, o Traceroute é o lugar certo. Enquanto isso, se você quiser apenas ver se um servidor está respondendo, você pode fazer ping nele. É verdade que você também pode fazer isso com o Traceroute, mas terá que esperar um pouco até que ele finalmente chegue ao seu servidor antes de obter a resposta que procura.

Como realizar um traceroute

Como dissemos anteriormente, todos os principais sistemas operacionais podem executar um Traceroute. É tão fácil quanto abrir um terminal de comando e inserir o comando Traceroute.

Para macOS, basta abrir o Terminal e digitar “traceroute”, seguido da URL ou endereço IP do destino. É o mesmo no Linux, mas pode ser necessário instalar o Traceroute antes de executá-lo.

Executando o comando traceroute no Linux.

Nos sistemas operacionais Windows, funciona da mesma maneira, exceto que a função é chamada de “tracert”. Abordamos o tracert e outros comandos em nosso guia sobre comandos para gerenciar redes sem fio no Windows, portanto, leia-o se quiser aprender sobre as ferramentas à sua disposição.

Crédito da imagem: Michel Bakni/Wikimedia Commons

Rastreando seus pacotes com Traceroute

Se você quiser ver para onde vão seus pacotes depois que saem do PC, o Traceroute é a escolha certa. Se você deseja diagnosticar um problema de rede ou está apenas curioso para ver para onde seus pacotes vão, é fácil configurar um e observar a movimentação dos dados.