Skip to main content

Paano Gamitin ang 'traceroute' Command sa Linux

Install Traceroute on Ubuntu Desktop 17.10 (Tracert on GNU/Linux) (Hunyo 2025)

Install Traceroute on Ubuntu Desktop 17.10 (Tracert on GNU/Linux) (Hunyo 2025)
Anonim

Ang command na traceroute ay ginagamit sa Linux upang i-map ang paglalakbay na ang isang packet ng impormasyon ay nagsasagawa mula sa pinagmulan nito hanggang sa patutunguhan nito. Ang isang paggamit para sa traceroute ay upang mahanap kapag ang pagkawala ng data ay nangyayari sa kabuuan ng isang network, na maaaring magpahiwatig ng isang node na pababa.

Dahil ang bawat hop sa rekord ay sumasalamin sa isang bagong server o router sa pagitan ng nagmula PC at target na target, ang pagsusuri sa mga resulta ng isang traceroute scan ay nagpapahintulot din sa iyo na makilala ang mabagal na mga punto na maaaring makaapekto sa iyong trapiko sa network.

Paano Ito Gumagana

Ang pagsusuri sa tukoy na ruta na sinusubaybayan ng trapiko sa network (o sa paghahanap ng maling gateway na nagtatapon ng iyong mga packet) ay nagtatanghal ng ilang mga hamon sa pag-troubleshoot. Ginagamit ng Traceroute ang IP protocol oras para mabuhay patlang upang manghingi ng isang ICMP TIME_EXCEEDED tugon mula sa bawat gateway sa kahabaan ng path sa isang destination host.

Ang tanging parameter na dapat mong isama kapag isinasagawa mo ang utos ng traceroute ay ang pangalan ng host o IP address ng patutunguhan.

Traceroute Syntax and Switches

traceroute -dFInrvx -f first_ttl -g gateway -i hinarap ko -m max_ttl -p port -q nqueries -s src_addr -t tos -w waittime -z pausemsecs host packetlen

Habang ang nasa itaas ay kung paano dapat isulat ang command na traceroute upang magtrabaho sa linya ng command, ang pagganap o output ng command ay maaaring mabago sa pamamagitan ng pagtukoy ng isa o higit pang mga opsyonal na switch.

  • -f: Itakda ang unang oras-to-live na ginamit sa unang palabas na packet ng probe.
  • -F: Itakda ang "hindi fragment" bit.
  • -d: Paganahin ang pag-debug sa antas ng socket.
  • -g: Tukuyin ang isang maluwag na source ruta gateway (8 maximum).
  • -i: Tukuyin ang isang network interface upang makuha ang pinagmulan ng IP address para sa mga papalabas na packet ng probe. Ito ay karaniwang kapaki-pakinabang sa isang multi-homed host. (Tingnan ang-s flag para sa isa pang paraan upang gawin ito.)
  • -I: Gumamit ng ICMP ECHO sa halip ng UDP datagrams.
  • -m: Itakda ang max time-to-live (max na bilang ng mga hops) na ginagamit sa mga papalabas na packet ng probe. Ang default ay 30 hops (ang parehong default na ginagamit para sa mga koneksyon sa TCP).
  • -n: I-print ang mga address ng hop sa numerically sa halip na sa simbolo at ayon sa bilang (sine-save ang isang nameserver address-to-name lookup para sa bawat gateway na matatagpuan sa landas).
  • -p: Itakda ang base UDP port number na ginagamit sa probes (default ay 33434). Inaasahan ni Traceroute na walang nakikinig sa mga UDP port base sa base + nhops - 1 sa host ng patutunguhan (upang ang isang mensahe ng ICMP PORT_UNREACHABLE ay ibabalik upang wakasan ang ruta ng pagsunod). Kung ang isang bagay ay nakikinig sa isang port sa hanay ng default, ang pagpipiliang ito ay maaaring magamit upang pumili ng hindi ginagamit na hanay ng port.
  • -r: Bypass ang normal na mga talahanayan ng routing at direktang ipadala sa isang host sa isang nakalakip na network. Kung ang host ay wala sa direktang naka-attach na network, ang isang error ay ibinalik. Maaaring gamitin ang pagpipiliang ito upang i-ping ang isang lokal na host sa pamamagitan ng isang interface na walang ruta sa pamamagitan nito (hal., Matapos ang interface ay bumaba sa pamamagitan ng naubusan (8C)).
  • -s: Gamitin ang sumusunod na IP address (na karaniwan ay ibinibigay bilang isang IP number, hindi isang hostname) bilang source address sa mga papalabas na packet ng probe. Sa mga multi-homed host (mga may higit sa isang IP address), ang pagpipiliang ito ay maaaring gamitin upang pilitin ang source address na maging isang bagay maliban sa IP address ng interface na ipapadala ang probe packet. Kung ang address ng IP ay hindi isa sa mga address ng interface ng makina, ang isang error ay ibinalik at walang ipapadala. (Tingnan ang-i flag para sa isa pang paraan upang gawin ito.)
  • -t: Itakda ang uri-ng-serbisyo sa probe packets sa sumusunod na halaga (default zero). Ang halaga ay dapat isang decimal integer sa saklaw ng 0 hanggang 255. Ang pagpipiliang ito ay maaaring magamit upang makita kung ang iba't ibang uri ng serbisyo ay nagreresulta sa iba't ibang mga landas. (Kung hindi ka tumatakbo 4.4bsd, maaaring ito ay akademiko, dahil ang mga normal na serbisyo sa network tulad ng telnet at ftp ay hindi nagpapahintulot sa iyo na kontrolin ang TOS.) Hindi lahat ng mga halaga ng TOS ay legal o makabuluhan-tingnan ang IP spec para sa mga kahulugan. Ang mga kapaki-pakinabang na halaga ay marahil `-t 16 '(mababang pagka-antala) at `-t 8 '(high throughput).
  • -v: Maliwanag na output. Nakatanggap ang mga packet ng ICMP bukod sa TIME_EXCEEDED at UNREACHABLEs.
  • -w: Itakda ang oras (sa mga segundo) upang maghintay para sa isang tugon sa isang probe (default 5 sec.).
  • -x: I-toggle ang mga tseke ng IP. Karaniwan, pinipigilan nito ang traceroute mula sa pagkalkula ng mga tseke ng IP. Sa ilang mga kaso, maaaring i-overwrite ng operating system ang mga bahagi ng papalabas na packet ngunit hindi muling pagkalkula ng checksum; sa gayon, sa ilang mga kaso ang default ay hindi makalkula ang mga checksum at paggamit-x nagiging sanhi ng pagkalkula sa kanila. Tandaan na ang mga tseke ay karaniwang kinakailangan para sa huling hop kapag gumagamit ng ICMP ECHO probes (-I), kaya lagi silang kinakalkula kapag gumagamit ng ICMP.
  • -z: Itakda ang oras (sa milliseconds) upang i-pause sa pagitan ng probes (default 0). Ang ilang mga sistema tulad ng Solaris at mga router mula sa Cisco, mga limitasyon sa mga icmp na mensahe. Ang isang mahusay na halaga upang gamitin sa mga ito ay 500 (hal., 1/2 segundo).

Pagsasalin sa Mga Resulta

Binabalangkas ng Traceroute ang landas ng isang IP packet sa isang internet host sa pamamagitan ng paglulunsad ng mga packet ng UDP na may maliit na TTL (oras upang mabuhay) at pagkatapos ay nakikinig para sa isang ICMP "oras ay lumampas" na sagot mula sa isang gateway. Simulan namin ang aming mga probes sa isang TTL ng isa at dagdagan ng isa hanggang sa makuha namin ang isang ICMP "port unreachable" (na nangangahulugang ang packet ay dumating sa patutunguhan nito) o pindutin ang isang max na halaga ng mga pagtatangka, na default sa 30 hops at maaaring mabago ang-m bandila.

Kapag nag-execute ng traceroute, nagpapadala ito ng tatlong probes sa bawat setting ng TTL at pagkatapos ay nag-print ng isang linya sa console na nagpapakita ng TTL, address ng gateway, at oras ng pag-ikot ng bawat probe. Kung ang mga sagot ng probe ay nagmumula sa iba't ibang mga gateway, ang address ng bawat kopya ng mga tumutugon sa sistema. Kung walang tugon sa loob ng limang segundo na agwat ng oras (binago gamit ang-w bandila), isang asterisk ang nakalimbag para sa probe na iyon.

Upang maitapon ang patutunguhan ng host mula sa pag-overflow ng pagpoproseso ng UDP probe-packet, ang destination port ay nakatakda sa isang halaga na hindi malamang gamitin ng device na iyon. Kung ang isang network o serbisyo sa patutunguhan ay gumagamit ng port na iyon, palitan ang halaga gamit ang-p bandila.

Ang isang sample na paggamit at output ay magbabalik ng mga resulta katulad ng halimbawang ito:

yak 71% traceroute nis.nsf.net. traceroute sa nis.nsf.net (35.1.1.48), 30 hops max, 38 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

Tandaan na ang pangalawa at pangatlong linya ay pareho. Ang kinalabasan na ito ay nauugnay sa isang buggy kernel sa ikalawang sistema ng hop-lbl-csam.arpa-na nagpapasa ng mga packet na may zero TTL (isang bug sa ibinahagi na bersyon ng 4.3 BSD). Dapat mong hulaan kung anong landas ang nakukuha ng mga packet sa cross-country dahil ang NSFNet (129.140) ay hindi nagbibigay ng address-to-name na pagsasalin para sa NSSes nito.

Ang isang mas kawili-wiling halimbawa ay:

yak 72% traceroute allspice.lcs.mit.edu. traceroute sa allspice.lcs.mit.edu (18.26.0.115), 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) 19 ms 19 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms 5 ccn-nerif22 (128.32.168.22) 20 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms 8 129.140.70.13 ( 129.140.70.13) 80 ms 79 ms 99 ms 9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms 10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms 11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms 12 * * * 13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0.115) 339 ms 279 ms 279 ms

Tandaan na ang gateway sa 12, 14, 15, 16, at 17 hops ang layo ay hindi nagpapadala ng ICMP "oras na lumampas" na mga mensahe o ipadala ang mga ito sa isang TTL masyadong maliit upang maabot sa amin. Ang mga linya ng 14 hanggang 17 ay tumatakbo sa code ng MIT C Gateway na hindi nagpapadala ng "mga oras na lumagpas" na mga mensahe.

Ang tahimik na gateway 12 sa halimbawa sa itaas ay maaaring ang resulta ng isang bug sa 4. 23 BSD code ng network at mga derivatives nito: Ang mga machine na tumatakbo 4.3 code at mas maaga magpadala ng isang hindi maabot na mensahe gamit ang anumang nananatiling TTL sa orihinal na datagram. Dahil, para sa mga gateway, ang natitirang TTL ay zero, ang ICMP na "oras na lumampas" ay ginagarantiyahan na huwag itong ibalik sa amin. Ang pag-uugali ng bug na ito ay bahagyang mas kawili-wiling kapag lumilitaw ito sa destination system:

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!

Pansinin na may 12 "gateway" (13 ang huling destination), at ang huling kalahati ng mga ito ay nawawala. Ang talagang nangyayari ay ang pinangalanan ng server rip (isang Sun-3 na tumatakbo sa Sun OS 3.5) ay gumagamit ng TTL mula sa aming darating na datagram bilang TTL sa tugon ng ICMP nito. Kaya, ang sagot ay mag-time out sa landas ng pagbalik (na walang abiso na ipinadala sa sinuman dahil ang mga ICMP ay hindi ipinadala para sa mga ICMP) hanggang sa usapan natin ang isang TTL na hindi bababa sa dalawang beses sa landas ng haba-sa ibang salita, ang rip ay talagang tanging pitong hops layo.

Ang isang tugon na babalik na may TTL ng 1 ay isang palatandaan na ang problemang ito ay umiiral. Nag-print ng "Traceroute" ang isang "!" pagkatapos ng oras kung ang TTL ay mas mababa sa o katumbas ng 1. Dahil ang mga vendor ay nagpadala ng maraming mga lipas na (DEC's Ultrix, Sun 3.x) o non-standard (HPUX) na software, inaasahan na makita ang problemang ito ng madalas at mag-ingat sa pagpili ng target na host ng iyong probes.

Iba pang posibleng mga annotation pagkatapos ng oras! H, ! N, o! P (host, network, o protocol na hindi maabot),! S (nabigo ang source ruta),! F- (kailangan ng fragmentation-ang RFC1191 Path MTU Discovery value ay ipinapakita),! X (ipinagbabawal ang komunikasyon),! V (paglabag sa precedence ng host),! C (halagang cutoff sa epekto), o! (ICMP unreachable code). Ang mga code na ito ay tinukoy ng RFC1812, na supersedes RFC1716. Kung halos lahat ng probes ay nagreresulta sa ilang uri ng hindi maabot na host, ang traceroute ay magbibigay at mag-exit.

Ang programang ito ay inilaan para gamitin sa pagsubok, pagsukat, at pamamahala ng network. Dapat itong gamitin lalo na para sa manu-manong pagkakabukod ng kasalanan. Dahil sa pag-load na maaaring ipataw sa network, hindi maalam ang paggamit ng traceroute sa panahon ng normal na operasyon o mula sa mga awtomatikong script.