logo

Comanda Linux traceroute

Introducere în traceroute

Comanda Linux traceroute este un utilitar de depanare a rețelei care ne ajută să stabilim numărul de hop și pachete de călătorie necesare pentru a ajunge la o destinație. Este folosit pentru a afișa modul în care datele sunt transmise de la o mașină locală la o mașină la distanță. Încărcarea unei pagini web este unul dintre exemplele comune de traceroute. Încărcarea unei pagini web transferă date printr-o rețea și routere. Traceroute poate afișa rutele, adresele IP și numele de gazdă ale routerelor dintr-o rețea. Poate fi util pentru diagnosticarea problemelor de rețea.

În calcul, tracert și traceroute sunt comenzile pentru diagnosticarea rețelei de calculatoare pentru a afișa posibile rute și pentru a măsura întârzierile de tranzit de pachete în rețeaua IP. Istoricul rutei este înregistrat ca timp de călătorie dus-întors de la toate gazdele succesive din rută; Suma medie a timpului din fiecare hop este măsura totală a timpului petrecut pentru a crea conexiunea.

Comanda traceroute continuă cu excepția cazului în care fiecare pachet trimis este pierdut de mai mult de două ori; conexiunea se pierde, iar calea nu poate fi evaluată. Pe de altă parte, comanda ping măsoară doar ultimii timpi dus-întors prin punctul de destinație. Uneori, instrumentul are un nume similar, tracert6 și traceroute6, pentru IPv6.

Sintaxă:

 traceroute [OPTION...] HOST 

Opțiuni:

Următoarele opțiuni de linie de comandă sunt acceptate de comanda traceroute:

-f, --first-hop=NUM: Este folosit pentru a seta distanța inițială de hop.

-g, --gateways=PORTI: Este folosit pentru a afișa o listă de gateway-uri pentru rutarea surselor libere.

-I, --icmp: Este specificat să se utilizeze ICMP ECHO ca sondă.

-m, --max-hop=NUM: Este folosit pentru a seta numărul maxim de hop, valoarea implicită este 64.

-M, --type=METODĂ: Specifică METODA (icmp sau udp) pentru operațiunile traceroute, metoda implicită este udp.

-p, --port=PORT: Este definit să utilizeze portul PORT de destinație, PORTul implicit este 33434.

-q, --tries=NUM: Este folosit pentru a redirecționa NUM pachete de probe per hop, valoarea implicită este 3.

--resolve-hostnames: Este folosit pentru a rezolva numele de gazdă.

-t, --tos=NUM: Este folosit pentru a seta tipul de serviciu (TOS) la NUM.

-w, --wait=NUM: Este folosit pentru a aștepta în câteva secunde un răspuns, valoarea implicită este 3.

-?, --Ajutor: Este folosit pentru a afișa manualul de ajutor care conține o scurtă descriere a opțiunilor acceptate pentru linia de comandă și a utilizării.

--utilizare: Afișează un mesaj scurt de utilizare.

-V, --versiunea: Este folosit pentru a afișa informațiile despre versiunea traceroute.

Să aruncăm o privire la indexul rapid al subiectului:

  • Instalați comanda traceroute
  • Cum functioneazã?
  • Urmăriți traseul folosind Ipv6
  • Urmăriți traseul folosind Ipv4
  • Dezactivați maparea adresei IP și a numelui de gazdă
  • Setați numărul de interogări per hop
  • Setați timpul de așteptare a răspunsului
  • Specificați interfața de utilizat
  • Setați valoarea TTL inițială
  • Setați numărul maxim de hop
  • Obține ajutor

Implementări ale traceroute

Comanda traceroute este disponibilă pe mai multe sisteme de operare moderne. Pe sisteme asemănătoare Unix, cum ar fi Linux, macOS și FreeBSD, este disponibil ca instrument pentru linia de comandă. De asemenea, traceroute este accesibil grafic în suita Network Utilities din macOS; aceste utilitare au fost depreciate de la publicarea macOS Big Sur.

ReactOS și Microsoft Windows oferă un program numit tracert care implementează o funcție similară de urmărire a rutei. De asemenea, sistemele de operare bazate pe Windows NT oferă PathPing, care poate combina funcționalitatea comenzii ping cu tracert. Ediția ReactOS a fost integrată de Get Murphy și este licențiată pe GPL.

În mod implicit, traceroute trimite o comandă de pachete UDP (User Datagram Protocol) pe sisteme de operare asemănătoare Unix, cu numere de destinație de porturi cuprinse între 33434 și 33534. Implementările traceroute livrate cu macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD și Linux au opțiunea de a utiliza pachete ICMP Echo Request, cum ar fi TCP și UDP, folosind pachete ICMP sau TCP SYN. În mod implicit, tracert transferă pachetele ICMP Echo Request pe Windows în loc de transferurile de pachete UDP traceroute.

Utilizarea traceroute

Majoritatea implementărilor au cel puțin câteva opțiuni pentru a defini numărul de interogări de transferat per hop, timpul de așteptare pentru un răspuns, limita de hop și portul utilizat. Dacă nu invocăm traceroute cu opțiunile specificate, acesta arată lista de opțiuni disponibile, în timp ce comanda man traceroute reprezintă mai multe detalii, cum ar fi steagurile de eroare.

Originile traceroute

Pagina de manual a traceroute afirmă că programul real de traceroute a fost specificat de Van Jacobson în 1987 dintr-o recomandare a lui Steve Deering, cu remedieri și recomandări concrete de la C. Philip Wood, Ken Adelman și Tim Seaver. Mike Muuss, autorul programului ping, afirmă că traceroute a fost specificat cu suportul ICMP al nucleului pe care îl codase mai devreme pentru a activa socket-urile ICMP brute în timp ce el a specificat inițial programul ping.

Limitările traceroute

Limitările traceroute sunt infame și ar trebui luate în considerare atunci când se utilizează instrumentul. De exemplu, un traceroute recunoaște căile la nivel de interfață, dar nu la nivel de rută. Alte limitări apar atunci când routerele nu răspund la examinare sau când routerele includ o restricție pentru răspunsurile ICMP.

Traceroute poate reprezenta o cale care nu există în existența echilibrării încărcăturii de trafic. Pentru a minimiza această problemă, este disponibilă o modificare a traceroute cunoscută sub numele de Paris-traceroute, care gestionează identificatorul fluxului de examinare pentru a ignora echilibrarea sarcinii.

Instalați comanda traceroute

Traceroute nu este un utilitar implicit al Linux sistem. Pentru a utiliza traceroute, trebuie să-l instalăm manual. Pentru a-l instala, executați una dintre următoarele comenzi:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Comenzile de mai sus vor instala utilitarul traceroute pe sistemul nostru. După instalarea cu succes, rezultatul va arăta după cum urmează:

Linux traceroute

Cum functioneazã?

Pentru a urmări traseul unei gazde de rețea conectată, transmiteți numele serverului sau adresa IP la care doriți să vă conectați. De exemplu, pentru a urmări traseul serverului „javatpoint.com”, executați comanda de mai jos:

 traceroute javatpoint.com 

Comanda de mai sus va afișa hopuri, pachete și multe alte informații despre ruta dată. Luați în considerare rezultatul de mai jos:

Linux traceroute

Din rezultatul de mai sus, putem vedea mai multe lucruri. să înțelegem fiecare parte a rezultatului:

care este dimensiunea monitorului meu
  • Prima linie afișează numele de gazdă și adresa IP la care urmează a fi atinsă, hopurile care vor fi încercate de comanda traceroute și dimensiunea pachetelor care urmează să fie trimise.
  • De la a doua linie, fiecare linie afișează un salt către destinație. Și numele gazdei urmat de adresa IP a gazdei, timp dus-întors. Timpul de călătorie dus-întors este suma timpului necesar pentru ca un semnal să fie trimis și timpul necesar pentru a răspunde gazdei.
  • În mod implicit, trimite trei pachete pentru fiecare gazdă, deci sunt listați trei timpi de răspuns.
  • Simbolul „*” reprezintă pierderea pachetului. Pierderea pachetului are loc din cauza unei întreruperi de rețea, a traficului ridicat către congestie rețelei sau poate că firewall-ul scădea traficul. În multe pierderi de pachet, traseul va afișa eroarea ca „destinația nu este atinsă”.

Urmăriți traseul utilizând IPv6

Opțiunea „6” este utilizată pentru a urmări ruta către o rețea gazdă folosind protocolul Ipv6. Luați în considerare comanda de mai jos:

 traceroute6 google.com 

Comanda de mai sus va urmări traseul către „google.com” utilizând protocolul Ipv6. Luați în considerare rezultatul de mai jos:

Linux traceroute

Urmăriți traseul folosind Ipv4

Opțiunea „4” este utilizată pentru a urmări ruta către o rețea gazdă folosind protocolul Ipv6. Luați în considerare comanda de mai jos:

 traceroute 4 google.com 

Comanda de mai sus va urmări traseul către „google.com” utilizând protocolul Ipv6. Luați în considerare rezultatul de mai jos:

Linux traceroute

Dezactivați maparea adresei IP și a numelor de gazdă

Opțiunea „n” este utilizată pentru a dezactiva adresa IP și maparea numelui de gazdă. Luați în considerare comanda de mai jos:

 traceroute n google.com 

Comanda de mai sus va produce rezultatul după cum urmează:

Linux traceroute

Setați numărul de interogări per hop

Opțiunea „-q” este utilizată pentru a seta numărul de interogări per hop. Luați în considerare comanda de mai jos:

 traceroute -q 2 google.com 

Comanda de mai sus va produce rezultatul după cum urmează:

Linux traceroute

Setați timpul de așteptare a răspunsului

Opțiunea „-w” este folosită pentru a seta timpul de așteptare a răspunsului în traceroute. Acesta va specifica timpul de așteptare în secunde pentru a răspunde la o sondă. Luați în considerare comanda de mai jos:

 traceroute -w 1 google.com 

Din comanda de mai sus, timpul de așteptare a răspunsului este de 1 secundă. Acesta va produce rezultatul după cum urmează:

Linux traceroute

Specificați interfața de utilizat

Opțiunea „i” este folosită pentru a seta interfața de rețea pe care ar trebui să o utilizeze traceroute. Dacă nu este setat, va seta interfața conform tabelului de rutare. Luați în considerare comanda de mai jos:

 traceroute i wlp3s0b1 google.com 

Comanda de mai sus va produce rezultatul după cum urmează:

Linux traceroute

Setați valoarea TTL inițială

Putem seta valoarea inițială TTL (time to live) alta decât valoarea implicită. Va sări peste niște hopuri. De obicei, este setat la unu, doi, trei și așa mai departe pentru setul respectiv de teste. Deci, dacă îl setăm la șapte, primul test va încerca săritul șapte și va sări peste hopurile de la unu la șase. Luați în considerare comanda de mai jos:

 traceroute -f 7 google.com 

Comanda de mai sus va merge direct la hop șapte. Luați în considerare rezultatul de mai jos:

Linux traceroute

Setați numărul maxim de hop

Opțiunea „-m” este utilizată pentru a seta numărul maxim de hopuri pentru ca pachetul să ajungă la destinație. Valoarea implicită pentru numărul maxim de sărituri este 30. Luați în considerare comanda de mai jos:

 traceroute -m 7 google.com 

Comanda de mai sus va seta 7 hopuri maxime pentru ca pachetul să ajungă la destinație. Luați în considerare rezultatul de mai jos:

Linux traceroute

Obține ajutor

Pentru a afișa manualul de ajutor care conține un rezumat al utilizării și al opțiunilor acceptate, executați comanda de mai jos:

 traceroute --help 

Comanda de mai sus va afișa ajutorul. Acesta va produce rezultatul după cum urmează:

Linux traceroute

De asemenea, putem accesa paginile de manual executând comanda man după cum urmează:

 man traceroute 

Comanda de mai sus va afișa pagina de manual a comenzii traceroute. Va arăta după cum urmează:

Linux traceroute

Derulați pagina pentru a citi mai multe și apăsați tasta „q” pentru a ieși din pagina de manual.