Cum să rulați un Traceroute pe Windows, Mac și Linux
Un traceroute este un utilitar de diagnosticare a rețelei care mapează calea exactă pe care o parcurg pachetele IP de la mașina dvs. la un host țintă, înregistrând fiecare router intermediar (hop) de-a lungul drumului și măsurând timpul de dus-întors (RTT) până la fiecare. Este cel mai eficient instrument pentru a determina dacă o creștere a latenței, pierderea de pachete sau o anomalie de rutare provine din rețeaua locală, infrastructura ISP-ului dvs., un backbone de tranzit sau serverul de destinație în sine.
Când rulați un traceroute, sistemul dvs. trimite o serie de pachete de sondare cu valori TTL (Time To Live) incrementale. Fiecare router care decrementează TTL la zero returnează un mesaj ICMP „Time Exceeded”, dezvăluindu-și identitatea și timpul de răspuns. Acest mecanism este ceea ce face traceroute fundamental diferit de un simplu `ping` — expune topologia completă de rutare, nu doar accesibilitatea de la un capăt la altul.
Cum Funcționează Traceroute în Interior
Înțelegerea mecanicii de bază previne interpretarea greșită a rezultatelor — o greșeală pe care o fac chiar și administratorii experimentați.
- Windows (`tracert`) trimite pachete ICMP Echo Request în mod implicit.
- Linux și macOS (`traceroute`) trimit datagrame UDP către porturi cu numere mari (33434+) în mod implicit, deși acest lucru este configurabil.
- Fiecare sondă este trimisă de trei ori per hop, producând trei măsurători RTT per linie.
- Un router care limitează rata sau elimină ICMP/UDP va afișa asteriscuri (`* * *`), dar acest lucru nu înseamnă neapărat că calea de după el este întreruptă.
Această diferență de comportament între sistemele de operare este critică: un hop care pare neresponsiv pe Linux poate răspunde normal pe Windows, pur și simplu pentru că ACL-ul routerului blochează UDP, dar permite ICMP.
Cum să Rulați un Traceroute pe Windows
Pasul 1: Deschideți Command Prompt
Apăsați `Win + R`, tastați `cmd` și apăsați Enter. Alternativ, căutați Command Prompt în meniul Start. Pentru mediile în care ICMP este restricționat, luați în considerare rularea ca Administrator.
Pasul 2: Executați Comanda
“`
tracert example.com
“`
Înlocuiți `example.com` cu numele de domeniu sau adresa IP țintă. Windows rezolvă numele de host la un IP înainte de a trimite prima sondă.
Pasul 3: Citiți Rezultatul
“`
Tracing route to example.com [93.184.216.34] over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.0.1
2 10 ms 11 ms 10 ms 10.0.0.1
3 15 ms 16 ms 15 ms isp.gateway.net [203.0.113.1]
4 * * * Request timed out.
5 22 ms 21 ms 23 ms core1.backbone.net [198.51.100.5]
“`
Opțiuni Cheie `tracert` pe Windows
| Flag | Funcție |
|---|---|
| — | — |
| `-d` | Omite căutările DNS inverse, accelerează semnificativ rezultatul |
| `-h <max_hops>` | Setează numărul maxim de hopuri (implicit: 30) |
| `-w <timeout>` | Setează timpul de așteptare în milisecunde per sondă (implicit: 4000 ms) |
| `-4` | Forțează IPv4 |
| `-6` | Forțează IPv6 |
Exemplu cu opțiuni:
“`
tracert -d -h 20 -w 2000 example.com
“`
Sfat pro: Pe Windows, `tracert -d` este cel mai rapid mod de a obține rezultate când vă interesează doar rutarea la nivel IP și nu numele de host. Căutările DNS inverse pot adăuga câteva secunde per hop pe rețelele congestionate.
Cum să Rulați un Traceroute pe macOS
Pasul 1: Deschideți Terminal
Apăsați `Command + Space`, tastați Terminal și apăsați Enter. Sau navigați la Applications > Utilities > Terminal.
Pasul 2: Executați Comanda
“`
traceroute example.com
“`
macOS vine cu `traceroute` preinstalat ca parte a setului de instrumente de rețea BSD. Nu este necesară nicio instalare suplimentară.
Pasul 3: Citiți Rezultatul
“`
traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 1.206 ms 0.930 ms 0.799 ms
2 10.0.0.1 (10.0.0.1) 10.123 ms 10.456 ms 10.678 ms
3 isp.gateway.net (203.0.113.1) 15.789 ms 15.012 ms 15.234 ms
“`
Rețineți că macOS implicit are maximum 64 de hopuri față de 30 ale Windows — relevant când urmăriți căi către destinații de rețea geografic îndepărtate sau complexe.
Opțiuni Cheie `traceroute` pe macOS
| Flag | Funcție |
|---|---|
| — | — |
| `-n` | Suprimă rezoluția numelui de host, afișează doar IP-uri brute |
| `-q <nqueries>` | Modifică numărul de sonde per hop (implicit: 3) |
| `-m <max_ttl>` | Setează TTL maxim / numărul de hopuri |
| `-w <waittime>` | Timeout în secunde per sondă |
| `-I` | Folosește ICMP Echo în loc de UDP (util când UDP este blocat) |
| `-T` | Folosește sonde TCP SYN (necesită root; ocolește multe firewall-uri) |
Exemplu — modul ICMP pentru a ocoli filtrarea UDP:
“`
sudo traceroute -I example.com
“`
Exemplu — modul TCP SYN pe portul 80 (cel mai compatibil cu firewall-urile):
“`
sudo traceroute -T -p 80 example.com
“`
Cum să Rulați un Traceroute pe Linux
Pasul 1: Deschideți Terminal
Apăsați `Ctrl + Alt + T` sau localizați terminalul în lansatorul de aplicații.
Pasul 2: Instalați `traceroute` dacă este Necesar
Pe multe distribuții Linux minimale sau de tip server, `traceroute` nu este instalat implicit.
Debian / Ubuntu:
“`
sudo apt-get install traceroute
“`
CentOS / RHEL / AlmaLinux / Rocky Linux:
“`
sudo yum install traceroute
“`
Fedora:
“`
sudo dnf install traceroute
“`
Arch Linux:
“`
sudo pacman -S traceroute
“`
Pasul 3: Executați Comanda
“`
traceroute example.com
“`
Pasul 4: Citiți Rezultatul
“`
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 0.728 ms 0.457 ms 0.373 ms
2 10.0.0.1 (10.0.0.1) 9.862 ms 9.946 ms 10.123 ms
3 isp.gateway.net (203.0.113.1) 14.987 ms 14.123 ms 15.456 ms
“`
Opțiuni Cheie `traceroute` pe Linux
| Flag | Funcție |
|---|---|
| — | — |
| `-n` | Dezactivează rezoluția DNS inversă |
| `-I` | Trimite sonde ICMP Echo (necesită root) |
| `-T` | Trimite sonde TCP SYN (necesită root) |
| `-U` | Trimite sonde UDP (comportament implicit) |
| `-p <port>` | Specifică portul de destinație |
| `-m <max_ttl>` | Numărul maxim de hopuri |
| `-q <nqueries>` | Numărul de sonde per hop |
| `-A` | Afișează numerele AS (Sistem Autonom) alături de fiecare hop |
Flag-ul `-A` este deosebit de puternic pentru diagnosticarea problemelor de rutare inter-AS — arată ce ISP sau operator de rețea deține fiecare hop, permițându-vă să identificați exact unde o predare între operatori cauzează latență.
“`
traceroute -A example.com
“`
`mtr` — Alternativa Superioară pe Linux
Pentru diagnostice continue sau interactive, `mtr` (Matt’s Traceroute) combină `ping` și `traceroute` într-un afișaj care se actualizează continuu. Este instrumentul preferat de inginerii de rețea pentru analiza în timp real a pierderii de pachete.
“`
sudo apt-get install mtr
mtr example.com
“`
`mtr` acumulează statistici în timp, făcând vizibilă pierderea intermitentă de pachete — ceva ce un `traceroute` cu o singură trecere va rata complet.
Comparație Cross-Platform: tracert vs. traceroute
| Caracteristică | Windows (`tracert`) | macOS (`traceroute`) | Linux (`traceroute`) |
|---|---|---|---|
| — | — | — | — |
| Protocol implicit de sondare | ICMP Echo Request | UDP | UDP |
| Număr maxim implicit de hopuri | 30 | 64 | 30 |
| Sonde implicite per hop | 3 | 3 | 3 |
| Dimensiunea pachetului (implicit) | 40 bytes | 52 bytes | 60 bytes |
| Modul ICMP | Implicit | Flag `-I` (root) | Flag `-I` (root) |
| Modul TCP SYN | Nu este disponibil nativ | Flag `-T` (root) | Flag `-T` (root) |
| Căutare număr AS | Nu este disponibil | Nu este disponibil | Flag `-A` |
| Suport IPv6 | Flag `-6` | Comanda `traceroute6` | Flag `-6` |
| Integrat în OS | Da | Da | Necesită adesea instalare |
Înțelegerea Rezultatelor Traceroute: O Analiză Tehnică
Numărul Hopului
Fiecare linie reprezintă un router din cale. Hopul 1 este aproape întotdeauna gateway-ul implicit (router de acasă sau switch LAN). Hopul 2 este de obicei primul punct de agregare al ISP-ului dvs.
Timpii de Răspuns (RTT)
Sunt afișate trei valori RTT per hop. Valorile sănătoase urmează în general un tipar de creștere graduală pe măsură ce hopurile acumulează distanță geografică. O creștere bruscă de 50+ ms la un hop specific care persistă prin toate hopurile ulterioare indică un bottleneck real la acel nod.
Interpretarea `* * *` (Asteriscuri)
Asteriscurile înseamnă că sonda a expirat — routerul nu a returnat un răspuns ICMP în fereastra de așteptare. Aceasta nu este automat o problemă. Multe routere enterprise și noduri backbone deprioritizează sau elimină silențios pachetele de sondare ICMP/UDP din motive de securitate, continuând să redirecționeze traficul normal. Dacă hopurile de după asteriscuri arată RTT-uri normale, calea este intactă.
Latență Mare la un Singur Hop
Dacă hopul 7 arată 200 ms dar hopul 8 arată 25 ms, citirea de 200 ms este aproape sigur limitarea ratei ICMP la routerul hopului 7 — nu un bottleneck real. Routerul procesează sonda cu prioritate scăzută în timp ce redirecționează traficul real la viteză maximă. Evaluați întotdeauna tendințele de latență pe întreaga cale, nu hopuri individuale în izolare.
Rutare Asimetrică
Traceroute mapează doar calea de dus. Pachetele de retur pot urma o rută complet diferită. Aceasta înseamnă că o creștere de latență pe care o observați ar putea proveni din calea de retur, nu din calea de dus afișată. Instrumentele precum `traceroute` în ambele direcții (de la sursă și de la destinație) sunt necesare pentru vizibilitate completă.
Bucle de Rutare
Dacă aceeași adresă IP apare la mai multe hopuri consecutive, există o buclă de rutare. Pachetele sunt redirecționate între doi routere la nesfârșit până când TTL expiră. Aceasta este o configurare greșită și va cauza eșec complet al conectivității la acea destinație.
Scenarii Comune de Traceroute și Ce Înseamnă
Scenariul 1: Latență mare începând de la hopul 2
Primul punct de agregare al ISP-ului dvs. este congestionat. Acest lucru este în afara controlului dvs. Documentați rezultatul cu marcaje temporale și contactați ISP-ul dvs. cu dovezi.
Scenariul 2: Toate hopurile după hopul 5 arată `* * *` dar destinația răspunde la ping
Routerele upstream ale destinației blochează sondele ICMP. Comutați la modul TCP SYN (`-T -p 443`) pentru a urmări prin firewall-uri.
Scenariul 3: Creșteri de latență la un hop situat într-o țară neașteptată
Traficul dvs. este rutat internațional înainte de a ajunge la o destinație locală — o anomalie de rutare BGP. Aceasta este comună cu anycast configurat greșit sau ISP-uri cu peering slab.
Scenariul 4: Traceroute se finalizează dar site-ul web este în continuare lent
Bottleneck-ul poate fi pe partea serverului: CPU supraîncărcat, răspuns lent al aplicației sau latență a bazei de date. Traceroute măsoară doar performanța la nivel de rețea. Dacă găzduiți pe un VPS și experimentați acest lucru, investigați utilizarea resurselor serverului cu `top`, `htop` sau `vmstat`.
Scenariul 5: Traceroute nu se finalizează niciodată (se oprește la un hop specific pe termen nelimitat)
Un firewall elimină sondele dvs. și destinația este inaccesibilă. Confirmați cu `ping` către destinație. Dacă ping eșuează de asemenea, host-ul este oprit sau blochează tot ICMP. Dacă ping reușește, doar protocolul de sondare este blocat — comutați protocoalele.
Traceroute pentru Diagnosticarea Serverelor și Găzduirii
Traceroute este indispensabil când diagnosticați probleme de conectivitate între infrastructura dvs. și utilizatorii finali sau între servicii. Dacă rulați aplicații pe un Server Dedicat, un traceroute din mai multe puncte de observație distribuite geografic dezvăluie dacă latența este localizată într-o regiune sau ISP specific.
Pentru mediile de web hosting gestionate printr-un panou de control, urmărirea rutelor către IP-ul serverului dvs. din partea clientului ajută la distingerea între o problemă la nivelul găzduirii și o problemă de tranzit de rețea. Administratorii care folosesc VPS cu cPanel pot corela datele traceroute cu jurnalele de acces de pe server pentru a construi o imagine completă a unei reclamații de conectivitate.
Când diagnosticați eșecuri de livrare a e-mailurilor sau timeout-uri SMTP, rularea unui traceroute către IP-ul serverului de mail este un prim pas logic înainte de a investiga înregistrările SPF/DKIM. Dacă utilizați un serviciu dedicat de Email Hosting, acest lucru ajută la confirmarea dacă problema este la nivel de rețea sau de configurare.
Pentru sarcini de lucru sensibile la latență, cum ar fi inferența de machine learning sau pipeline-urile de randare care rulează pe GPU Hosting, traceroute ajută la verificarea că calea de rețea dintre clientul dvs. și nodul GPU este rutată optim fără hopuri de tranzit neașteptate.
Tehnici Avansate: Traceroute Online și Distribuit
Traceroute-urile dintr-un singur punct arată doar calea de la mașina dvs. Pentru o analiză completă a rețelei:
- Servere Looking Glass: Mulți ISP-uri și IXP-uri operează servere looking glass publice care vă permit să rulați traceroute-uri de la marginea rețelei lor, dezvăluind calea din perspectiva unui operator.
- BGP.tools / RIPE Atlas: Platforme de măsurare distribuite care rulează traceroute-uri din sute de puncte de observație globale simultan, expunând anomalii de rutare regionale invizibile dintr-o singură locație.
- PathPing (Windows): Un instrument Windows integrat care combină `ping` și `tracert`, rulând sonde continue către fiecare hop și calculând statistici de pierdere a pachetelor. Rulați cu: `pathping example.com`
- WinMTR: Un echivalent grafic Windows al `mtr`, oferind statistici în timp real de pierdere a pachetelor și latență per hop.
Matrice Practică de Decizie: Ce Instrument să Folosiți
| Situație | Instrument Recomandat |
|---|---|
| — | — |
| Verificare rapidă a căii o singură dată pe Windows | `tracert -d target` |
| Verificare rapidă a căii o singură dată pe Linux/macOS | `traceroute -n target` |
| Analiză continuă/în timp real a pierderii de pachete | `mtr target` |
| Țintă în spatele unui firewall care blochează ICMP/UDP | `traceroute -T -p 443 target` (Linux/macOS) |
| Identificarea ISP-ului care deține fiecare hop | `traceroute -A target` (Linux) |
| Diagnosticare din mai multe locații globale | RIPE Atlas sau BGP.tools |
| Statistici continue de pierdere pe Windows | `pathping target` |
| Compararea căilor de dus și de întors | Rulați traceroute de la ambele capete |
Concluzii Tehnice Cheie
- Folosiți întotdeauna `-n` sau `-d` mai întâi pentru a elimina întârzierile de rezoluție DNS și a obține rezultate brute mai rapid.
- Un hop care arată `* * *` nu indică o cale întreruptă — evaluați hopurile care urmează după el.
- Latența la un singur hop intermediar este frecvent limitarea ratei ICMP, nu un bottleneck real.
- Comutați protocoalele de sondare (ICMP, UDP, TCP SYN) când întâlniți timeout-uri persistente — firewall-urile sunt selective în funcție de protocol.
- Folosiți `mtr` în loc de `traceroute` pentru orice sesiune de diagnosticare mai lungă decât o singură verificare.
- Traceroute dezvăluie doar calea de dus. Rutarea asimetrică necesită analiză bidirecțională.
- Flag-ul `-A` pe traceroute Linux adaugă adnotarea numărului AS, care este esențială pentru analiza rutării multi-ISP.
- Documentați rezultatele traceroute cu marcaje temporale când depuneți tichete de suport la ISP — operatorii necesită aceste date pentru a investiga problemele la nivel BGP.
Întrebări Frecvente
De ce traceroute arată `* * *` pentru unele hopuri, dar destinația este în continuare accesibilă?
Routerele de-a lungul căii sunt configurate să elimine sau să limiteze rata mesajelor ICMP TTL-exceeded în timp ce continuă să redirecționeze traficul normal. Aceasta este o politică deliberată de securitate și performanță pe majoritatea routerelor enterprise și de nivel operator. Nu indică pierdere de pachete pe calea de date.
Care este diferența dintre `tracert` pe Windows și `traceroute` pe Linux?
Diferența principală este protocolul implicit de sondare: `tracert` folosește ICMP Echo Requests, în timp ce `traceroute` pe Linux/macOS folosește datagrame UDP. Aceasta înseamnă că interacționează diferit cu firewall-urile și ACL-urile. `traceroute` pe Linux suportă de asemenea sonde TCP SYN și căutări de numere AS, pe care `tracert` nu le oferă.
Cum rulez un traceroute printr-un firewall care blochează UDP și ICMP?
Folosiți modul TCP SYN cu un port care este aproape sigur deschis pe țintă, cum ar fi portul 80 sau 443: `sudo traceroute -T -p 443 example.com`. Sondele TCP SYN trec prin majoritatea firewall-urilor stateful deoarece seamănă cu începutul unei conexiuni legitime.
Ce înseamnă când latența traceroute crește brusc și rămâne ridicată pentru toate hopurile rămase?
O creștere persistentă a latenței de la un hop specific înainte indică un bottleneck real sau o legătură congestionată la acel punct din cale. Aceasta este distinctă de o creștere la un singur hop (care este de obicei limitarea ratei). Creșterea susținută înseamnă că tot traficul este întârziat la acel nod sau la legătura imediat după el.
Poate traceroute diagnostica performanța lentă a unui site web?
Traceroute diagnostichează doar latența la nivel de rețea și problemele de rutare. Dacă calea de rețea arată bine, dar site-ul web este în continuare lent, problema este pe partea serverului — timp de procesare a aplicației, latența interogărilor bazei de date sau epuizarea resurselor. Folosiți instrumente de monitorizare a serverului alături de traceroute pentru un diagnostic complet.
