Comando traceroute
Propósito
Imprime a rota que os pacotes IP seguem para um host da rede.
Sintaxe
traceroute [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -d ] [ -g gateway_addr ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ]
Descrição
Atenção: O comando traceroute é destinado para uso em testes de rede, medição e gerenciamento. Ele deve ser usado principalmente para isolamento manual de falhas. Por causa da carga que ele impõe na rede, o comando traceroute não deve ser usado durante operações normais ou a partir de scripts automatizados.
O comando traceroute tenta traçar a rota um pacote IP segue para um host de Internet lançando pacotes de análise UDP com um pequeno tempo máximo de tempo de vida (Max_ttl ), em seguida, atendendo uma resposta de ICMP TIME_EXCEEDED de gateways ao longo do caminho. As análises são iniciadas com um valor Max_ttl de um hop, que é aumentado um hop em um momento até que uma mensagem ICMP PORT_UNREACHABLE seja devolvida. A mensagem do ICMP PORT_UNREACHABLE indica que o host foi localizado ou o comando atingiu o número máximo de hops permitidos para o rastreio.
O comando traceroute envia três sondas em cada configuração Max_ttl para registrar o seguinte:
- Valor deMax_ttl
- Endereço do gateway
- Tempo de viagem de Round-trip de cada sonda de sucesso
O número de sondas enviadas pode ser aumentado usando a bandeira -q . Se as respostas da análise virem de gateways diferentes, o comando imprimirá o endereço de cada sistema que estiver respondendo. Se não houver resposta de uma análise em um intervalo de tempo limite de 3 segundos, um * (asterisco) será impresso para essa análise.
O comando traceroute imprimirá um ! (marca de exclamação) após o tempo de roundtrip se o valor Max_ttl for um pulo ou menos. Um valor de tempo de vida máximo de um salto ou menos geralmente indica uma incompatibilidade no modo como as respostas do ICMP são manipuladas por diferentes softwares de rede. A incompatibilidade geralmente pode ser resolvida dobrando o último valor Max_ttl usado e tentando novamente.
Outras anotações possíveis após a notação de ida e volta são:
| Item | Descrição |
|---|---|
| !dados | Host não atingível |
| !N | Rede inatingível |
| !P | Protocolo inatingível |
| !S | Falha na rota de origem |
| !< | Fragmentação necessária |
Se a maioria das análises resultar em um erro, o comando traceroute será encerrado.
O único parâmetro obrigatório para o comando traceroute é o nome do host ou número do IP de destino. O comando traceroute determinará o comprimento do pacote de análise com base na Unidade Máxima de Transmissão (MTU) da interface de saída. Os pacotes de análise UDP são configurados com um valor improvável de modo a impedir o processamento pelo host de destino.
Sinalizações
| Item | Descrição |
|---|---|
| -d | Possibilita a depuração do nível de soquete. |
| -f fluxo | Configura o campo de rótulo de fluxo em cabeçalho de pacotes IPv6 . O valor padrão é 0. |
| -g gateway_addr | Roteia os pacotes de saída através de um gateway especificado com a opção de roteamento de origem IP. Antes de usar esta sinalização, seu roteador deve ativar o roteamento de origem IP. Esta sinalização só está disponível para endereços IP versão 6. |
| -m Max_ttl | Configura o tempo de vida máximo (número máximo de saltos) usado nos pacotes de análise de saída. O padrão é 30 saltos (o mesmo padrão usado para conexões TCP). |
| -n | Imprime endereços de salto numericamente, em vez do modo simbólico e numérico. Esse sinalizador salva uma consulta de endereço para nome do servidor de nomes para cada gateway localizado no caminho. |
| -p Porta | Configura o número da porta UDP base usado em análises. O padrão é 33434. O comando traceroute depende de uma faixa de porta UDP aberta de base para base + nhops- 1 no host de destino. Se uma porta UDP não estiver disponível, essa opção poderá ser usada para selecionar um intervalo de portas não utilizado. |
| -q Nqueries | Especifica o número de probes o comando traceroute envia em cada configuração Max_ttl . O padrão é três sondas. |
| -r | Ignora as tabelas de roteamento normal e envia o pacote de análise diretamente para um host em uma rede anexada. Se o host especificado não estiver em uma rede diretamente conectada, um erro será retornado. Esta opção pode ser usada para emitir um comando ping para um host local através de uma interface que não esteja registrada na tabela de roteamento do daemon roteado . |
| -s SRC_Addr | Usa o próximo endereço IP no formato numérico como endereço de origem nos pacotes de análise de saída. Em hosts com mais de um endereço IP, o sinalizador -s pode ser usado para forçar o endereço de origem a ser algo diferente do endereço IP da interface na qual o pacote de análise é enviado. Se o próximo endereço IP não for um dos endereços da interface da máquina, um erro será retornado e nada será enviado. |
| -t TypeOfService | Define a variável TypeOfService nos pacotes de sondagem como um número inteiro decimal no intervalo de 0 a 255. O padrão é 0. Esta sinalização pode ser usada para investigar se diferentes tipos de serviços resultam em caminhos diferentes. Para obter mais informações, consulte Protocolos TCP/IP em Guia de Ferramentas de Desempenho e Referência. Os valores úteis são -t 16 (baixo delay) e -t 8 (high throughput). |
| -v | Recebe pacotes diferentes de TIME_EXCEEDED e PORT_UNREACHABLE (saída verbosa). |
| -w WaitTime | Configura o tempo (em segundos) para esperar por uma resposta a uma análise. O padrão é 3 seconds. |
Parâmetros
| Item | Descrição |
|---|---|
| Host, | Especifica o host de destino, pelo nome do host ou número do IP. Esse parâmetro é obrigatório. |
| PacketSize | Especifica o comprimento do datagrama de análise. O tamanho do pacote padrão é determinado pelo comando traceroute com base na MTU da interface de saída. |
Segurança
Exemplos
- Um uso e saída de amostra é:
As linhas 2 e 3 são as mesmas devido a um bug no kernel no sistema de segundo hop (lbl-csam.arpa) que encaminha pacotes com um tempo zero-para-viver. Os nomes de hospedagens não são impressos nas linhas 6 até 10 porque a National Science Foundation Network (NSFNet,129.140) não fornece traduções de endereço para os seus nós.[yak 71]% traceroute nis.nsf.net. traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 56 byte packet 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms 5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms 9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms - Outro exemplo de saída pode ser:
Neste exemplo, exatamente a metade do hops de 12 de gateway (13 é o destino final) estão "desaparecidos". No entanto, esses lúpulos na verdade não eram gateways. O host de destino, uma estação de trabalho Sun-3 executando Sun OS3.5, usou o ttl do datagrama de chegada como o ttl em sua resposta ICMP; assim, a resposta cronometrada no caminho de retorno. Como os ICMPs não são enviados para ICMPs, nenhum aviso foi recebido. O! (marca de exclamação) após cada tempo de viagem em roundtrip indica algum tipo de problema de incompatibilidade de software. (A causa foi diagnosticada depois que o comando traceroute emitiu uma análise de duas vezes o comprimento do caminho. O anfitrião de destino era realmente apenas sete hops de distância.)[yak 72]% traceroute rip.Berkeley.EDU (128.32.131.22) traceroute to rip.Berkeley.EDU (128.32.131.22), 30 hops max 1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms 6 csgw/Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 ms! 39 ms! 39 ms!