Contents

Como funciona e para que é usado

/images/traceroute-tracert.jpg -Como fazer

Entre os comandos do Windows para saber operações de rede, o traceroute é um dos mais úteis e importantes. O nome do comando e sua sintaxe podem variar um pouco dependendo do sistema operacional examinado: no macOS, Linux e em sistemas do tipo Unix, por exemplo, é chamado traceroute mas no Windows é tracert.

Traceroute é uma ferramenta de diagnóstico usada para traçar a rota que um pacote de dados segue através de uma rede de computadores, que pode ser a Internet, mas também – por exemplo – uma rede local. É essencial localizar e identificar quaisquer problemas de comunicação entre um computador e o servidor remoto, ajudando a determinar onde estão ocorrendo atrasos ou interrupções.

Como funciona o traceroute

O dispositivo a partir do qual você inicia o comando traceroute envia uma série de pacotes Internet Control Message Protocol ( ICMP ) para o destino indicado. Cada pacote contém um “time to live” (TTL) que é inicialmente definido como 1. Cada roteador pelo qual o pacote passa diminui o valor do TTL em uma unidade: quando o TTL chega a zero, o roteador descarta o pacote e envia uma mensagem ICMP de “tempo excedido” ao remetente.

O processo de verificação realizado através do traceroute aumenta gradativamente o valor do TTL, permitindo ao remetente identificar todos os roteadores pelos quais o pacote passa até chegar ao destino. O resultado é uma lista sequencial de todos os roteadores pelos quais os pacotes de teste passam, juntamente com seus tempos de resposta.

Como usar o tracert no Windows

Para realizar um traceroute no Windows, basta abrir o prompt de comando (por exemplo, digitando cmd na caixa de pesquisa e pressionando Enter) e digitar tracert seguido do endereço IP ou endereço mnemônico (por exemplo google.it, www.ilsoftware.it , www.google.it e assim por diante) do servidor remoto a ser controlado.

O comando inicia o envio de pacotes para o destino com diferentes valores de TTL e grava a rota pela qual os pacotes passam.

Nem todos os roteadores encontrados ao longo do caminho respondem às solicitações ICMP direcionadas a eles: nesses casos, o utilitário tracert exibe alguns asteriscos e a mensagem Solicitação expirada à direita. Isso não é absolutamente um problema se outros pularem (é assim que são chamados os roteadores encontrados ao longo do caminho) responderem rapidamente (alguns milissegundos).

/images/tracert-windows-esempio.png

Ao adicionar a opção-d (exemplo tracert-d www.google.it ), o comando não faz nada resolução de nome de domínio acelerando o tempo de resposta geral do utilitário traceroute.

Para obrigar a utilização do Protocolo de Internet versão seis (IPv6) em vez do Protocolo de Internet versão quatro (IPv4), empregue a seguinte diretiva:

tracert-6 google.it

No caso do IPv6 se estiver desabilitado no sistema em uso ou não for suportado pela rede da operadora de telecomunicações escolhida, você receberá uma mensagem de erro.

Executando um traceroute no Linux

Em um sistema operacional Linux, a execução de uma investigação de traceroute envolve inserir o comando “traceroute” seguido de um endereço IP ou nome de domínio para avaliar sua rota. O uso da opção “-n” pode ser empregado como forma de evitar a resolução de nomes de domínio durante o processo.

/images/traceroute-riga-comando-linux.png

Diferentemente do que acontece no Windows, em sistemas GNU/Linux é possível realizar teste com traceroute mesmo sem utilizar o protocolo ICMP.

ICMP, na verdade, é um protocolo de comunicação em nível de rede usado para enviar mensagens de controle e de erro dentro de uma rede IP (Internet Protocol). Seu principal objetivo, como vimos anteriormente, é fornecer informações de diagnóstico da comunicação entre dispositivos de rede. Pode acontecer, entretanto, que o tráfego ICMP seja bloqueado por um ou mais saltos que o traceroute encontra ao longo do caminho dos pacotes de dados (mensagem Request expired ).

Para substituir o método de teste de rede baseado em ICMP padrão pelo Transmission Control Protocol (TCP) para diagnóstico de rede, execute o seguinte comando:

sudo traceroute-T google.com

Novamente, como alternativa, você pode usar o protocolo UDP:

sudo traceroute-U google.com

O utilitário traceroute também permite verificar uma porta específica:

sudo traceroute-p 80 google.com

Alternativamente, você pode optar por utilizar o User Datagram Protocol especificando a porta desejada através da inclusão da opção “-U” em seu comando.

Traceroute de Matt

O Traceroute pode ser utilizado de forma eficaz em casos em que ocorre perda de pacotes, pois fornece informações valiosas sobre a origem do problema. Ele permite que os usuários determinem se o problema reside localmente, como congestionamento temporário causado pelo alto uso do dispositivo, se está relacionado ao provedor de serviços de Internet específico ou se se estende além disso e afeta a rede mais ampla da Internet.

Quando não é possível acessar um site, uma ferramenta como o traceroute de Matt ( MTR ) é uma das mais adequadas para entender o que está acontecendo. Ao contrário dos utilitários traceroute tradicionais, na verdade, o MTR pode ser mantido em execução constante por um determinado período de tempo para verificar, em tempo real, como estão os vários saltos.

No Linux você deve primeiro instalar o MTR. No Ubuntu e derivados você pode usar o seguinte comando:

sudo apt instalar mtr-y

O conjunto de instruções fornecido consiste em duas operações separadas, cada uma empregando um método diferente para conduzir um traceroute. Especificamente, uma rota de rastreamento é executada usando o Internet Control Message Protocol (ICMP), enquanto a outra atravessa a porta segura do Hypertext Transfer Protocol Secure (HTTPS), que corresponde ao número da porta 443.

mtr www.google.it mtr-T-P 443 www.google.it

/images/mtr-traceroute-linux.png

Na figura do exemplo, o MTR já enviou 175 pacotes (coluna Snt ) não detectando nenhum fenômeno perda de pacotes ( Loss% ). Todos à direita tempos de resposta ou latência para cada salto (último valor, média, melhor valor, pior valor e desvio padrão).

Como eu cheguei aqui? Um traceroute reverso

Para indivíduos que buscam mais exploração, uma excelente iniciativa de código aberto é conhecida como “How Did I Get Here”. Este recurso fornece uma visão geral abrangente de todas as etapas intermediárias realizadas antes de acessar o servidor que hospeda o serviço solicitado. Além disso, a parte visualmente atraente do resultado apresentado por esta ferramenta é criada dinamicamente por meio de análise e processamento de dados em tempo real.

O autor explica que escreveu seu próprio traceroute ktr capaz de transmitir os resultados da análise e ao mesmo tempo procurar informações interessantes sobre cada salto. Desenvolvido em Rust , o ktr traceroute pode ser reutilizado por qualquer pessoa: seu código-fonte está de fato publicado no GitHub.

/images/how-did-i-get-here-tracert.png

Ao acessar o site “Como cheguei aqui” por meio de um navegador preferido, pode-se observar uma funcionalidade intrigante em que o carregamento inicial começa a partir do nó final. Posteriormente, o relatório progride de forma inversa, procedendo da base para cima.

O comportamento se deve à escolha do desenvolvedor que tornou seu teste compatível com todos os sistemas, mesmo aqueles que possuem JavaScript desabilitado. A página, sempre que atualiza o relatório traceroute, incorpora um bloco CSS que oculta a iteração anterior.

Não somente. Como cheguei aqui realize um traceroute reverso: o diagnóstico não é realizado neste caso do dispositivo do usuário para o servidor remoto. É este último que realiza um traceroute até o dispositivo do usuário e depois reverte o relatório. É por isso que o conteúdo do traceroute parece ser carregado na ordem inversa.

A rigor, o traceroute fornecido por Como cheguei aqui pode não ser o mesmo que você obteria se testasse na direção oposta, por exemplo, com os utilitários de linha de comando vistos acima. Alguns nós podem assumir decisões de roteamento diferentes, mas, em geral, a rota seguida deve ser semelhante.

Sistemas autônomos e identidade dos saltos percorridos

A Internet, que por vezes é subestimada na sua importância, pode ser entendida como um sistema interligado composto por múltiplas redes independentes que pertencem a diversas organizações, incluindo empresas internacionais. Estas entidades possuem controlo exclusivo sobre a gestão do tráfego e do acesso nos seus respectivos domínios, sujeitos a acordos monetários rigorosos e contratos juridicamente vinculativos.

Cada rede, também chamada de sistema autônomo (AS), é um conjunto de roteadores e servidores conectados de forma privada entre si e geralmente de propriedade da mesma empresa. Os proprietários destes sistemas autónomos determinam com quais outros sistemas autónomos eles se interligam. O tráfego da Internet, portanto, passa por sistemas autônomos que possuem acordos de peering “entre eles.

As empresas que pretendam tornar-se sistemas autónomos podem solicitar este estatuto de detalhe dirigindo-se a um dos cinco registos regionais que operam à escala global (na Europa é o RIPE NCC , Réseaux IP Européens Network Coordination Centre ).

Utilizando o serviço Como cheguei aqui acima mencionado como exemplo, o autor obteve dados do WHOIS e do banco de dados PeeringDB acessível ao público para coletar informações sobre cada salto exibido no relatório traceroute.

Os roteadores localizados nas fronteiras dos sistemas autônomos decidem para qual rede enviar posteriormente o pacote recebido, até que ele chegue à rede à qual o dispositivo de destino está fisicamente conectado. O protocolo utilizado para este tipo de comunicação chama-se Border Gateway Protocol (BGP): já vimos porque é essencial para o funcionamento da Internet. Ela remonta a 1989, pelos engenheiros Cisco e IBM , a primeira versão do BGP (RFC 1105).

Em 1994, foi aprovada aquela que mais tarde se tornaria a versão mais madura do protocolo (BGP v4); em 1995 e 2006 foram aplicadas algumas inovações. Embora BGP v4 ainda seja o protocolo que usamos para escolher rotas através das redes interconectadas que compõem a Internet moderna.

Crédito da imagem de abertura: iStock.com/jacobius

barra lateral inferior relacionada 300

*️⃣ Link da fonte:

Como cheguei aqui , publicado no GitHub , Registros regionais, PeeringDB , jacobius ,