-T resultado da opção no comando ping

6

Eu estava aprendendo sobre o comando ping .

Não consigo entender a saída do comando ping com -T tsonly e -T tsandaddr .

A saída é:

$ ping -T tsonly 192.168.1.52
PING 192.168.1.52 (192.168.1.52) 56(124) bytes of data.
64 bytes from 192.168.1.52: icmp_req=1 ttl=63 time=0.470 ms

 TS:    43448298 absolute
        1
        31
        0
        -31
        0
$ ping -T tsandaddr 192.168.1.52
PING 192.168.1.52 (192.168.1.52) 56(124) bytes of data.
64 bytes from 192.168.1.52: icmp_req=1 ttl=63 time=0.434 ms

TS: 192.168.2.64    43461227 absolute
    192.168.2.10    0
    192.168.1.52    32
    192.168.1.52    0

Eu pesquisei com o google. Mas não encontrei a resposta. Na man page também não encontrei a resposta.

Eu sei que o tempo absoluto de impressão é de milissegundos a partir do carimbo de 24 horas da meia-noite.
Fora isso, os três tempos restantes são a que horas? Por que isso é impresso em ambas as duas saídas ping ? Qual é o uso disso?

    
por mnille 03.05.2016 / 06:47

1 resposta

5

A opção -T solicita que os nós (cada salto) insiram um registro de data e hora nos pacotes IP ao receber um ping. Ele funciona usando a opção TS de pacotes IP, especificada por RFC791 .

ping -T requer um argumento de tsonly, tsandaddr ou tsprespec. tsonly retorna apenas o timestamp. tsandaddr retorna o timestamp e o endereço do qual o pacote foi enviado.

Da página do manual:

-T timestamp option
      Set special IP  timestamp  options.   timestamp  option  may  be
      either  tsonly  (only  timestamps),  tsandaddr  (timestamps  and
      addresses) or tsprespec host1 [host2 [host3 [host4]]] (timestamp
      prespecified hops).

Por exemplo, quando eu faço ping de 192.168.1.10 na minha rede local a partir de 192.168.1.191, recebo a seguinte saída:

ping -T tsandaddr 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(124) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=4.32 ms
TS:     192.168.1.191   31636378 absolute
192.168.1.10    6
192.168.1.10    0
192.168.1.191   -1

Atualização 01

Há quatro valores de tempo retornados quando você emite o sinalizador tsandaddr. No exemplo abaixo, vemos 31636378 absolutos, 6, 0 e -1.

ping -T tsandaddr 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(124) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=4.32 ms
TS:     192.168.1.191   31636378 absolute
192.168.1.10    6
192.168.1.10    0
192.168.1.191   -1

O valor maior (31636378) é o número de milissegundos desde a meia-noite em UTC, e é por isso que o primeiro número continua a contar para cima quando o sinalizador -T é usado. Este grande número é um tempo de referência.

O primeiro valor (6) é a quantidade de tempo que levou para transmitir o ping em milissegundos. O segundo valor (0) é o tempo em milissegundos que levou para o destino receber o ping. O terceiro valor (-1) é o tempo que levou para transmitir uma resposta ao remetente.

Acredito que os valores de 0 e -1 milissegundos são uma indicação de que o destino que enviei não respondeu e, portanto, estou obtendo valores inúteis.

Sinta-se à vontade para testar este comando em alguns sites, alguns respondem com valores legítimos.

--timestamp Send ICMP_TIMESTAMP packets, thereby requesting a timed response from the targetted host.

In successful cases three time values are returned. All are expected to state the number of milliseconds since midnight UTC. The first of these, ‘icmp_otime’, contains the original time of sending the request. Then comes ‘icmp_rtime’, the time of reception by the target, and finally, ‘icmp_ttime’, the time of transmitting an answer back to the originator.

veja --timestamp aqui: link

    
por 03.05.2016 / 10:32

Tags