logo

Comando traceroute do Linux

Introdução ao traceroute

O comando traceroute do Linux é um utilitário de solução de problemas de rede que nos ajuda a determinar o número de saltos e pacotes que viajam no caminho necessário para chegar a um destino. É usado para exibir como os dados são transmitidos de uma máquina local para uma máquina remota. Carregar uma página da web é um dos exemplos comuns de traceroute. O carregamento de uma página da web transfere dados por meio de uma rede e roteadores. O traceroute pode exibir rotas, endereços IP e nomes de host de roteadores em uma rede. Pode ser útil para diagnosticar problemas de rede.

Na computação, tracert e traceroute são os comandos para diagnóstico de rede de computadores para exibir possíveis rotas e medir atrasos no trânsito de pacotes na rede IP. O histórico da rota é registrado como o tempo de ida e volta do pacote de todos os hosts sucessivos na rota; a soma média do tempo em cada salto é o tempo total gasto para criar a conexão.

O comando traceroute continua a menos que cada pacote enviado seja perdido mais de duas vezes; a conexão foi perdida e o caminho não pode ser avaliado. Por outro lado, o comando ping mede apenas os últimos tempos de ida e volta através do ponto de destino. Às vezes, a ferramenta tem um nome semelhante, tracert6 e traceroute6, para IPv6.

Sintaxe:

 traceroute [OPTION...] HOST 

Opções:

As seguintes opções de linha de comando são suportadas pelo comando traceroute:

-f, --first-hop=NUM: É usado para definir a distância inicial do salto.

raposa ou lobo

-g, --gateways = PORTÕES: Ele é usado para exibir uma lista de gateways para roteamento de origem flexível.

-Eu, --icmp: É especificado para usar ICMP ECHO como sonda.

-m, --max-hop = NÚM: É usado para definir a contagem máxima de saltos, o padrão é 64.

-M, --type = MÉTODO: Especifica o MÉTODO (icmp ou udp) para operações traceroute, o método padrão é udp.

-p, --port=PORTA: Está definido para usar a porta PORT de destino, a PORT padrão é 33434.

-q, --tenta=NUM: É usado para encaminhar NUM pacotes de investigação por salto, o padrão é 3.

--resolve-nomes de host: É usado para resolver os nomes de host.

-t, --tos = NÚM: É usado para definir o tipo de serviço (TOS) como NUM.

-w, --wait = NÚM: É usado para esperar em segundos por uma resposta, o padrão é 3.

como ler o arquivo csv em java

-?, --ajuda: É usado para exibir o manual de ajuda que contém uma breve descrição das opções de linha de comando suportadas e do uso.

--uso: Ele exibe uma breve mensagem de uso.

-V, --versão: É usado para exibir as informações da versão do traceroute.

Vamos dar uma olhada no índice rápido do tópico:

  • Instale o comando traceroute
  • Como funciona?
  • Trace a rota usando Ipv6
  • Trace a rota usando Ipv4
  • Desative o mapeamento de endereço IP e nome de host
  • Defina o número de consultas por salto
  • Defina o tempo de espera da resposta
  • Especifique a interface a ser usada
  • Defina o valor TTL inicial
  • Defina o número máximo de saltos
  • Conseguindo ajuda

Implementações de traceroute

O comando traceroute está disponível em vários sistemas operacionais modernos. Em sistemas do tipo Unix, como Linux, macOS e FreeBSD, está disponível como uma ferramenta para linha de comando. Além disso, o traceroute pode ser acessado graficamente no pacote Network Utilities no macOS; esses utilitários foram obsoletos desde a publicação do macOS Big Sur.

ReactOS e Microsoft Windows oferecem um programa chamado tracert que implementa uma função semelhante de rastreamento de rota. Além disso, os sistemas operacionais baseados em Windows NT oferecem PathPing, que pode combinar a funcionalidade do comando ping com tracert. A edição ReactOS foi integrada pela Get Murphy e é licenciada sob a GPL.

Por padrão, traceroute envia uma ordem de pacotes UDP (User Datagram Protocol) em sistemas operacionais do tipo Unix, com números de porta de destino variando de 33434 a 33534. As implementações de traceroute fornecidas com macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD e Linux têm a opção de utilizar pacotes ICMP Echo Request, como TCP e UDP, usando pacotes ICMP ou TCP SYN. Por padrão, o tracert transfere pacotes ICMP Echo Request no Windows em vez das transferências de traceroute de pacotes UDP.

Uso de traceroute

A maioria das implementações tem pelo menos algumas opções para definir a contagem de consultas a serem transferidas por salto, o tempo de espera por uma resposta, o limite de saltos e a porta usada. Se não invocarmos traceroute com opções especificadas, ele mostra a lista de opções disponíveis, enquanto o comando man traceroute representa mais detalhes, como os sinalizadores de erro.

Origens do traceroute

A página de manual do traceroute afirma que o programa traceroute real foi especificado por Van Jacobson em 1987 a partir de uma recomendação de Steve Deering, com correções e recomendações especificamente convincentes de C. Philip Wood, Ken Adelman e Tim Seaver. Mike Muuss, o autor do programa ping, afirma que o traceroute foi especificado com o suporte do kernel ICMP que ele havia codificado anteriormente para ativar soquetes ICMP brutos enquanto ele inicialmente especificava o programa ping.

Limitações do traceroute

As limitações do traceroute são infames e devem ser consideradas ao utilizar a ferramenta. Por exemplo, um traceroute reconhece caminhos no nível da interface, mas não no nível da rota. Outras limitações ocorrem quando os roteadores não respondem ao exame ou quando os roteadores incluem uma restrição para respostas ICMP.

Traceroute pode representar um caminho que não existe na existência de balanceamento de carga de tráfego. Para minimizar esse problema, está disponível uma modificação do traceroute, conhecida como Paris-traceroute, que gerencia o identificador do fluxo de exame para ignorar o balanceamento de carga.

Instale o comando traceroute

O traceroute não é um utilitário padrão do Linux sistema. Para usar o traceroute, precisamos instalá-lo manualmente. Para instalá-lo, execute um dos seguintes comandos:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Os comandos acima instalarão o utilitário traceroute em nosso sistema. Após a instalação bem-sucedida, a saída será semelhante a esta:

Traceroute do Linux

Como funciona?

Para rastrear a rota de um host de rede conectado, passe o nome do servidor ou endereço IP que deseja conectar. Por exemplo, para rastrear a rota do servidor ‘javatpoint.com’, execute o comando abaixo:

 traceroute javatpoint.com 

O comando acima exibirá saltos, pacotes e muitas outras informações sobre a rota fornecida. Considere a saída abaixo:

Olá mundo com java
Traceroute do Linux

Na saída acima, podemos ver várias coisas. vamos entender cada parte da saída:

  • A primeira linha exibe o nome do host e o endereço IP que serão alcançados, os saltos que serão tentados pelo comando traceroute e o tamanho dos pacotes a serem enviados.
  • A partir da segunda linha, cada linha exibe um salto até o destino. E o nome do host seguido do endereço IP do host, tempo de ida e volta. O tempo de ida e volta é a soma do tempo que leva para um sinal ser enviado e o tempo que leva para responder ao host.
  • Por padrão, ele envia três pacotes para cada host, portanto são listados três tempos de resposta.
  • O símbolo '*' representa a perda de pacotes. A perda de pacotes ocorre devido a uma interrupção da rede, alto tráfego para congestionamento da rede ou talvez o firewall esteja diminuindo o tráfego. Em caso de muita perda de pacotes, o traceroute exibirá o erro como 'destino não alcançado'.

Trace a rota usando IPv6

A opção '6' é usada para rastrear a rota até uma rede host usando o protocolo Ipv6. Considere o comando abaixo:

 traceroute6 google.com 

O comando acima traçará a rota para ‘google.com’ usando o protocolo Ipv6. Considere a saída abaixo:

Traceroute do Linux

Trace a rota usando Ipv4

A opção '4' é usada para rastrear a rota até uma rede host usando o protocolo Ipv6. Considere o comando abaixo:

 traceroute 4 google.com 

O comando acima traçará a rota para ‘google.com’ usando o protocolo Ipv6. Considere a saída abaixo:

Traceroute do Linux

Desativar mapeamento de endereço IP e nome de host

A opção 'n' é usada para desabilitar o mapeamento de endereço IP e nome de host. Considere o comando abaixo:

 traceroute n google.com 

O comando acima produzirá a saída da seguinte forma:

Traceroute do Linux

Defina o número de consultas por salto

A opção '-q' é usada para definir o número de consultas por salto. Considere o comando abaixo:

 traceroute -q 2 google.com 

O comando acima produzirá a saída da seguinte forma:

array de estrutura em linguagem c
Traceroute do Linux

Defina o tempo de espera da resposta

A opção '-w' é usada para definir o tempo de espera da resposta no traceroute. Ele especificará o tempo de espera em segundos para responder a uma investigação. Considere o comando abaixo:

 traceroute -w 1 google.com 

A partir do comando acima, o tempo de espera de resposta é de 1 segundo. Ele produzirá a saída da seguinte forma:

Traceroute do Linux

Especifique a interface a ser usada

A opção 'i' é usada para definir a interface de rede que o traceroute deve usar. Se não estiver configurado, configurará a interface de acordo com a tabela de roteamento. Considere o comando abaixo:

 traceroute i wlp3s0b1 google.com 

O comando acima produzirá a saída da seguinte forma:

Traceroute do Linux

Defina o valor TTL inicial

Podemos definir o valor inicial de TTL (time to live) diferente do valor padrão. Isso irá pular alguns saltos. Normalmente, é definido como um, dois, três e assim por diante para o respectivo conjunto de testes. Portanto, se definirmos como sete, o primeiro teste tentará o salto sete e pulará os saltos de um para seis. Considere o comando abaixo:

 traceroute -f 7 google.com 

O comando acima irá direto para o salto sete. Considere a saída abaixo:

Traceroute do Linux

Defina o número máximo de saltos

A opção '-m' é usada para definir o número máximo de saltos para o pacote chegar ao destino. O valor padrão para o número máximo de saltos é 30. Considere o comando abaixo:

 traceroute -m 7 google.com 

O comando acima definirá 7 saltos máximos para o pacote chegar ao destino. Considere a saída abaixo:

Traceroute do Linux

Conseguindo ajuda

Para exibir o manual de ajuda que contém um resumo do uso e das opções suportadas, execute o comando abaixo:

salvar vídeo do youtube vlc
 traceroute --help 

O comando acima exibirá a ajuda. Ele produzirá a saída da seguinte forma:

Traceroute do Linux

Também podemos acessar as páginas de manual executando o comando man da seguinte forma:

 man traceroute 

O comando acima exibirá a página de manual do comando traceroute. Será parecido com o seguinte:

Traceroute do Linux

Role a página para ler mais e pressione a tecla 'q' para sair da página do manual.