Traceroute - Линуксийн команд - Unix Command

traceroute - чиглүүлэгч пакетуудыг сүлжээний хост руу хэвлэх

Ерөнхий агуулга

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g гарц ]

[ -i iface ] [ -m max_ttl] [ -p порт ]

[ -q nqueries ] [ -s src_addr ] [ -t tos ]

[ -w waittime ] [ -z pausemsecs ]

хост [ packetlen ]

Тодорхойлолт

Интернет бол гарцаар холбогдож буй сүлжээний тоног төхөөрөмжийн том, цогц цогцолбор нэгдэл юм. Таны пакетуудыг дагаж байгаа (эсвэл пакетуудыг хаяж буй маршрутын хаягийг олох) нь хэцүү байж болно. Traceroute нь IP протоколыг ашиглахдаа 'амьдрах хугацаа' талбарыг ашигладаг бөгөөд зарим хост руу зам дагуух ICMP TIME_EXCEEDED хариуг олох оролдлого хийдэг.

Зөвхөн зайлшгүй параметр нь очих очих нэр буюу IP дугаар юм. Анхдагч шалгалт, илрүүлэлтийн datagram урт нь 40 байт боловч энэ нь очих очих нэрээс хойш пакетын уртыг (байтаар) зааж өгч болно.

Бусад сонголтууд нь:

-f

Эхний гарч ирэх проектийн пакет дээр эхний цагаар ажиллахыг тохируулах.

-F

"Битгий fragment" битийг тавь.

-d

Сокет түвшний дибаг хийхийг идэвхжүүлэх.

-g

Сул эх үүсвэрийн чиглүүлэлтийн гарцыг зааж өгөх (хамгийн дээд тал нь 8).

-i

Сүлжээний интерфэйсээ гадагшаа нэвтрэлтийн пакетуудын хувьд эхлэл IP хаяг олохын тулд зааж өгнө. Энэ нь ихэвчлэн олон homed хост дээр ашигтай байдаг. (Үүнийг хийх өөр аргаар s тугийг үз.)

-I

UDP datagrams-ын оронд ICMP ECHO ашигла.

Ажиллах гаралтын пакетуудад ашигладаг max-time-to-live (монополийн хамгийн их тоо) тохируулна. Анхдагч нь 30 hops (үндсэндээ TCP холболтуудад ашиглагддаг).

-n

Энд бөөрөнхий хэлбэр болон тоон хэлбэрээр байршуулахын тулд хаягийн хаягийг тоон хэлбэрээр хэвлэх (замд олсон гарц бүрийн хувьд нэрийн серверийн хаягийг нэрээр нь эрж хайхад хадгалдаг).

-p

Сорилд ашиглагдсан үндсэн UDP портын дугаарыг тохируулна (анхдагч нь 33434 байна). Traceroute нь очих очих газар дээр суурь + nhops-1 суурь дээр UDP порт дээр сонсох зүйлгүй гэж найдаж байна. (ICMP PORT_UNREACHABLE мессежийг чиглүүлэлтийг дуусгавар болгохын тулд буцаагдах болно гэж найдаж байна). Хэрэв ямар нэг зүйл анхдагч хүрээний порт дээр сонсож байгаа бол ашиглагдаагүй портын хүрээг сонгоход энэ сонголтыг ашиглаж болно.

-r

Ердийн чиглүүлэлтийн хүснэгтүүдийг гацааж холболтын сүлжээн дээр хост руу шууд илгээдэг. Хэрэв хост шууд холбогдсон сүлжээнд холбогдоогүй бол алдаа буцаагдах болно. Энэ сонголтыг дамжих замгүй интерфэйсээр дамжуулан локал хост уруу ping хийж болно (жишээ нь, интерфэйс нь routed (8C) -ээр унагагддаг байсан).

-s

Дараах IP хаягийг (энэ нь ихэвчлэн IP дугаараар хостын нэрээр өгөгддөг) ашигла. Олон homed хост (нэгээс олон IP хаягтай) дээр энэ сонголтыг эх сурвалжийг проекцийн пакетыг илгээх интерфэйсийн IP хаягнаас өөр ямар нэгэн зүйл байхыг шаарддаг. Хэрэв IP хаяг нь энэ машины интерфэйсийн хаягуудын нэг биш бол алдаа буцаагдах бөгөөд юу ч илгээхгүй. (Үүнийг хийх өөр нэг аргыг -i тугаас үзнэ үү.)

Сорилтын пакетуудын дагуу үйлчилгээний төрлийг дараах утгатай (анхдагч тэг) тохируулна. Энэ утга нь 0-ээс 255 хүртэлх муж дахь аравтын бутархай байх ёстой. Энэ сонголтыг янз бүрийн замаар өөр өөр төрлийн үйлчилгээний үр дүнг харахад ашиглаж болно. (Хэрэв та 4.4bsd-ийг ажиллуулж чадахгүй байгаа бол telnet шиг ердийн сүлжээний үйлчилгээнүүдээс болоод эрдэм шинжилгээний ажил байх болно, ftp нь TOS-ийг хянах боломжийг олгодоггүй). TOS-ийн бүх утгууд нь хууль ёсны эсвэл утга учиргүй байдаг - тодорхойлолтыг IP-ийн тодорхойлолтыг үзнэ үү. Ашигтай утгууд нь ` -t16 '(бага хоцрогдол) ба` -т 8 ' (өндөр нэвтрүүлэлт) байж магадгүй.

-v

Verbose output. TIME_EXCEEDED ба UNREACHABLE -сээс бусад ICMP пакетуудыг хүлээн авсан.

-w

Сорилт (хариу 5 секунд) хариу өгөхийг хүлээх хугацааг (секундээр) тохируулна.

-x

Ip checksums-г соль. Ихэвчлэн энэ нь ip checksums-ийг тооцоолоход traceroute-г саад болдог. Зарим тохиолдолд үйлдлийн систем нь гарч байгаа пакетийн хэсгийг дарж бичиж болох боловч checksum-ыг дахин тооцох шаардлагагүй байдаг (зарим тохиолдолд анхдагчаар checksums-ийг тооцоолохоос болон -x -ийг ашиглан calcualted болгон ашигладаг). ICMP ECHO шалгалтуудыг ( -I ) ашиглаж байхдаа сүүлчийн хоп дээр шаардагдаж буй шалгалтууд нь ихэвчлэн шаардлагатай байдаг. ICMP-ийг ашиглаж байх үед тэдгээрийг үргэлж тооцдог.

-z

Туршилтын хоорондох түр зогсоох хугацааг (миллисекундээр) тохируулах (анхдагч 0). Solaris гэх мэт зарим системүүд Cisco rate limit icmp мессежүүд зэрэг чиглүүлэгчүүд. Энэ тохиолдолд ашиглах сайн утга нь 500 (өөрөөр хэлбэл 1/2 секунд).

Энэ програм нь чиглүүлэлтийг дагах оролдлого хийдэг бөгөөд IP пакет интернет хостыг дагаж UDP шалгаж пакетуудыг жижиг ttl (цаг амьдрах хугацаатай) ажиллуулж дараа нь гарцаас ICMP "давсан" хариултыг сонсохыг хичээдэг. Бидний шалгалтуудыг эхлээд ICMP "port unreachable" (бид "хост" гэсэн утгатай) авах эсвэл хамгийн ихдээ (анхдагчаар 30 hops & туг). Гурван тест ( -q тугтай хамтаар өөрчлөгдөх) нь ttl тохируулга бүр дээр илгээгдэж, ttl, гарцын хаягийн байрлал болон шалгаж байгаа дугуй бүрийн цагийг харуулдаг. Хэрэв шалгалт тохируулгын хариулт өөр өөр гарцуудаас ирдэг бол хариу өгөх систем бүрийн хаягийг хэвлэнэ. Хэрэв 5 секундын дотор хариулт байхгүй бол. timeout интервал ( -w туг нь өөрчлөгдсөн), тэр шалгалтанд зориулж "*" байна.

Бид очих очих машиныг UDP шалгаж буй пакетуудыг боловсруулахыг хүсэхгүй байгаа тул destination порт нь магадгүй утгыг тохируулахыг хүсэхгүй (хэрэв очих газар дээр байгаа зарим clod нь энэ утгыг ашиглаж байгаа бол үүнийг -p тугаар солиорой ).

Дээжийн хэрэглээ ба гаралт нь:

[yak 71]% traceroute nis.nsf.net. traceroute to nis.nsf.net (35.1.1.48), дээд тал нь 30 hops, 38 байт пакет 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 (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

2 ба 3-р мөрүүд адил гэдгийг анхаарна уу. Энэ нь тэг ttl пакетуудыг (4.2BSD-ийн хуваарилагдсан хувилбар дахь алдаа) 2-р hop систем - lbl -csam.arpa-ийн алдаатай цөмтэй холбоотой юм. NSFNet (129.140) нь NSS-д зориулсан хаяг-нэрээр орчуулагддаггүй орчуулгыг ашигладаггүй тул пакетуудыг улс дамнасан ямар замыг туулж байгааг таах ёстойг анхаарна уу.

Илүү сонирхолтой жишээ бол:

[yak 72]% traceroute allspice.lcs.mit.edu. traceroute to 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

Гарч ирэх 12, 14, 15, 16 & 17 гарцууд нь ICMP-ийн "давсан цаг" -г битгий илгээгээрэй, эсвэл бидэнд хүрэхийн тулд хэтэрхий жижигээр илгээхийг санаарай. 14 -17 нь MIT C Gateway кодыг "давсан цаг" -ийг илгээж чаддаггүй. Бурхан зөвхөн юу болж байгааг мэддэг 12.

Дээрх чимээгүй гарц 12 нь 4. [23] BSD сүлжээний код (ба түүний уламжлал) дахь алдаанаас үүссэн байж магадгүй юм: 4.x (x <= 3) эх дээр байгаа whatever ttl хэвээр байна. datagram. Гарц нь гарцын хувьд үлдсэн ttl нь тэг болох бөгөөд ICMP-ийн "давсан хугацаа" нь бидэнд буцаж ирэхгүй. Энэ алдааны зан төлөв нь очих газрын систем дээр гарч ирэхэд илүү сонирхолтой байдаг:

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!

12 гарц байдаг (13 нь эцсийн дамжуулалт) бөгөөд тэдгээрийн хамгийн сүүлийн хагас нь "алга". Яг үнэндээ бол (Sun-3 Sun Sun 3 ажиллуулж байгаа Sun OS3) нь манай ирүүлсэн datagram-ийн ttl нь ICMP хариултанд ttl-ийг ашиглаж байна. Тэгэхээр хариулт нь буцаж ирэх зам дээр (ICMP-ийн ICMP-д илгээгдээгүй ICMP-ээс илгээгдсэн хэн ч илгээгээгүй тохиолдолд) урт замаас хоёр дахин бага ttl-ээр шалгагдах болно. Иe, rip гэдэг нь зөвхөн 7 зугтах юм. 1-р ttl-тэй буцаж ирдэг хариу нь энэ асуудлыг оруулав. Traceroute нь "!" дараа нь ttl бол <= 1. Худалдаачид ихээхэн хуучирсан (DEC's Ultrix, Sun 3.x) буюу стандарт бус (HPUX) програм хангамжийг ажиллуулдаг тул энэ асуудлыг байнга харж, Таны сорьцын хост.

H ( ! Эхлээд маршрут амжилтгүй болсон),! F- (шаардлагатай хэсэг нь fragmentation - RFC1191 Path MTU Discovery value нь харагдана), X (харилцаа холбооны захиргааны хувьд хориглогдсон),! V (хостингийн тэргүүлэх зэргийн зөрчил),! C (өмнөх давуу байдал), эсвэл ! (ICMP боломжгүй код). Эдгээрийг RFC1812 (RFC1716-ыг орлоно) тодорхойлно. Бараг бүх шалгалтууд нь ямар ч боломжгүй хүрч чадвал traceroute нь гарах болно.

Энэ програм нь сүлжээний шинжилгээ, хэмжилт, менежментийг ашиглахад зориулагдсан. Энэ нь үндсэндээ гарын авлагын хагарлын тусгаарлалтыг ашиглах ёстой. Сүлжээнд ачаалал өгдөг учраас хэвийн үйл ажиллагаа эсвэл автомат скриптүүдийн үед traceroute ашиглах нь ухаалаг бус юм.

Мөн үзнэ үү

pathchar (8), netstat (1), ping (8)