GNU/Linux >> Znalost Linux >  >> Linux

Chyba pingu překročila dobu životnosti

Každý odeslaný paket dat obsahuje v hlavičce paketu IP hodnotu TTL. To se týká počtu přeskoků, kterými mohou data projít, než jsou vyřazena. Na základě síťového provozu mezi hostiteli je možné předpovědět, jaký OS v systému běží. Každý operační systém má svůj vlastní jedinečný způsob implementace zásobníku TCP/IP. Velmi jednoduchou, ale účinnou pasivní metodou je kontrola počáteční doby životnosti (TTL) v hlavičce IP:

„Překročena doba životnosti“ tato chyba pingu ICMP je způsobena tím, že pole doby životnosti (TTL) dosáhlo nulové hodnoty nebo došlo k vypršení časového limitu pro opětovné sestavení segmentů. Jako řešení doporučím zvýšit hodnotu TTL (Time To Live) (nejvyšší je 255).

Řešení

Spusťte například traceroute na adresu ipaddress 8.8.8.8 (veřejný server DNS společnosti Google). A zjistěte počet skoků do cíle.

[root@server ~]# traceroute 8.8.8.8      (in linux distro)
C:\>tracert 8.8.8.8                                (in Windows OS)

Pro mě je to 6 skoků do 8.8.8.8. K dosažení paketů icmp na 8.8.8.8 a získání přehrávání pingu je tedy vyžadována minimální hodnota TTL 6. A nelze pingnout na 8.8.8.8 s hodnotou TTL 5 nebo méně.

Ping na výsledky s různými hodnotami TTL:

[root@server ~]# ping 8.8.8.8 -t 5                 (-t 5  is for custom TTL value of 5)

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.1.1  icmp_seq=1 Time to live exceeded
From 192.168.1.1  icmp_seq=2 Time to live exceeded
From 192.168.1.1  icmp_seq=3 Time to live exceeded
From 192.168.1.1  icmp_seq=4 Time to live exceeded
# ping 8.8.8.8 -t 6 (-t 6 je pro vlastní hodnotu TTL 6)
PING 8.8.8.8 (8.8.8.8) 56(84) bajtů dat.
64 bajtů od 8.8.8.8:icmp_req=1 ttl=55 čas=48,9 ms
64 bajtů od 8.8.8.8:icmp_req=2 ttl=55 čas=49,5 ms
64 bajtů od 8.8.8.8:3icmp_req ttl=55 čas=50,4 ms
64 bajtů z 8.8.8.8:icmp_req=4 ttl=55 čas=49,4 ms


Linux
  1. Zpracování chyb ve skriptech Bash

  2. „Chyba spouštění“ s živým usb Ubuntu 15.10 – jak ji opravit

  3. Příklady příkazů ping v Linuxu

  1. Stavy procesu Linuxu

  2. Co je :-!! v C kódu?

  3. extrahovat průměrný čas z ping -c

  1. Wifi Error Wpa_supplicant?

  2. Čas provedení více příkazů

  3. Ping a tcpdump současně