Traceroute — службова комп'ютерна програма, призначена для визначення маршрутів слідування даних у мережах (TCP/IP). Traceroute може використовувати різні протоколи передачі даних залежно від операційної системи пристрою. Такими протоколами можуть бути UDP, TCP, ICMP або GRE. Комп'ютери зі встановленою операційною системою Windows використовують ICMP-протокол, при цьому операційні системи Linux і маршрутизатори Cisco — протокол UDP.
Traceroute входить до складу більшості сучасних мережевих операційних систем. У системах Microsoft Windows ця програма має назву tracert, а в системах GNU/Linux, Cisco IOS і Mac OS — traceroute.
Розглянемо приклад роботи програми в операційній системі Windows. Програма tracert
виконує відправлення даних вказаному вузлу мережі, при цьому відображаючи відомості про всі проміжні маршрутизатори, через які пройшли дані на шляху до цільового вузла. В разі проблем при доставці даних до якого-небудь вузла програма дозволяє визначити, на якій саме ділянці мережі виникли несправності. Необхідно зазначити, що програма працює лише в напрямку від джерела пакетів і є вельми грубим інструментом для виявлення несправностей у мережі. В силу особливостей роботи протоколів маршрутизації у мережі Інтернет, зворотні маршруті часто не збігаються з прямими, причому це справедливо для всіх проміжних вузлів у трейсі. Тому ICMP відповідь від кожного проміжного вузла може йти своїм власним маршрутом, загубитися чи прийти з більшою затримкою, хоча в дійсності з пакетами, які адресовані кінцевому вузлу, цього не відбувається. Крім того, на проміжних маршрутизаторах часто стоїть обмеження кількості відповідей ICMP на одиницю часу, що спричинює появу хибних утрат.
Принцип роботи traceroute
Для визначення проміжних маршрутизаторів traceroute
надсилає цільовому вузлу серію ICMP-пакетів (за замовчуванням три пакети), із кожним кроком збільшуючи значення поля TTL («час життя») на 1. Це поле зазвичай вказує максимальну кількість маршрутизаторів, яка може бути пройдена пакетом. Перша серія пакетів надсилається з , і тому перший же маршрутизатор повертає назад ICMP-повідомлення «time exceeded in transit», яке показує неможливість доставки даних. Traceroute
фіксує адресу маршрутизатора, а також час між відправленням пакета й отриманням відповіді (ці відомості виводяться на монітор комп'ютера). Потім traceroute
повторює відправлення серії пакетів, але вже з , що змушує перший маршрутизатор зменшити TTL пакетів на одиницю та скерувати їх до другого маршрутизатора. Другий маршрутизатор, отримавши пакети з , так само повертає «time exceeded in transit».
Процес повторюється доти, доки пакет не досягне цільового вузла. При отриманні відповіді від цього вузла процес трасування вважається завершеним.
На кінцевому хості IP-датаграма з не відкидається та не викликає ICMP-повідомлення типу термін вичерпано, а повинна бути віддана застосунку. Досягнення пункту призначення визначається наступним чином: датаграми, що надсилаються traceroute
, містять UDP-пакет із номером порту на адресованому хості, що наперед не використовується. Номер порту дорівнюватиме 33434 + (максимальна кількість транзитних ділянок до вузла) — 1. У пункті призначення UDP-модуль, отримуючи подобні датаграми, повертає ICMP-повідомлення про помилку «порт недоступний». Таким чином, аби дізнатися про завершення роботи, програмі traceroute достатньо виявити надходження ICMP-повідомлення про помилку цього типу.
Приклад у Windows
Запуск програми відбувається з командного рядка. Для цього користувач повинен увійти до нього. Для операційних систем родини Windows існують декілька способів запуску командного рядка:
- Пуск — Виконати — В полі «Відкрити» написати «cmd» і натиснути ОК.
- Поєднання клавіш Win (кнопка з логотипом Windows) + R (повинні бути натиснені одночасно) — В полі «Відкрити» написати «cmd» і натиснути ОК.
- Пуск — Всі програми (чи просто «Програми», залежить від версії операційної системи) — Стандартні — Командний рядок.
У вікні, що відкрилося, написати:tracert example.net
, де tracert
— звернення до програми, а [en] — будь-який домен або IPv4-адреса.
C:\Users\Administrator>tracert uk.wikipedia.org Трасування маршруту до uk.wikipedia.org [91.198.174.192] з максимальною кількістю стрибків 30: 1 <1 мс <1 мс <1 мс 192.168.0.1 2 <1 мс <1 мс <1 мс 10.39.0.1 3 1 ms 1 ms 1 ms 193.0.240.161 4 3 ms 3 ms 3 ms 10ge12-17.core1.kbp1.he.net [216.66.88.137] 5 21 ms 24 ms 23 ms 10ge1-12.core1.waw1.he.net [72.52.92.33] 6 25 ms 25 ms 24 ms 100ge12-2.core1.ber1.he.net [184.105.65.26] 7 43 ms 38 ms 58 ms 100ge3-1.core1.ams1.he.net [184.105.65.17] 8 39 ms 39 ms 40 ms ae2.cr2-esams.wikimedia.org [80.249.209.176] 9 39 ms 39 ms 39 ms text-lb.esams.wikimedia.org [91.198.174.192] Трасування завершено.
Приклад у Linux
В UNIX/Linux системах існують режими, в яких запуск програми можливий лише від імені суперкористувача Root (адміністратора). До числа цих режимів відноситься важливий режим трасування за допомогою ICMP (ключ -I
).
В решті випадків traceroute
може працювати від імені звичайного рядового користувача. При цьому, параметри за замовчуванням відрізняються від дистрибутиву до дистрибутиву, хоча в довідці традиційно пишеться ключ -U
(UDP) як такий. В окремих дистрибутивах, заснованих на RedHat, фактично як замовчування використовується -I
, тому в разі, якщо команда з наступного приклада виведе повідомлення про нестачу прав, спробуйте явно вказати ключ -U
.
[user@localhost ~]$ traceroute bihus.info traceroute to bihus.info (104.21.61.166), 64 hops max 1 192.168.0.1 0,272 ms 0,194 ms 0,172 ms 2 192.168.89.1 0,352 ms 0,219 ms 0,226 ms 3 192.168.88.1 0,510 ms 0,375 ms 0,379 ms 4 91.224.24.108 2,632 ms 3,695 ms 2,949 ms 5 82.193.99.246 3,300 ms 3,893 ms 4,020 ms 6 185.1.50.68 4,224 ms 3,507 ms 3,823 ms 7 104.21.61.166 2,929 ms 2,857 ms 3,123 ms
Проблеми з фаєрволами
Існує хибне переконання, що traceroute, як і ping, працює лише за допомогою протоколу ICMP. Через це адміністратори-початківці, дозволивши у фаєрволі лише протокол ICMP, отримують робочий ping і неробочий traceroute. Для виправлення такої ситуації необхідно додатково дозволити у фаєрволі UDP-пакети на порти понад 33434, які traceroute використовує щоб спровокувати ICMP відповіді від хоста (у деяких джерелах зазначено, що достатньо вказати діапазон портів від 33434 до 33534).
Щоб обійти цю проблему можна змустити traceroute посилати ICMP пакети, додавши ключ -I
.
Альтернативи та доповнення до traceroute
- tracepath — схожа на traceroute програма, але може будувати асиметричні траси та має деякі інші відмінності.
- MTR — інтерактивна програма, здатна постійно виводити оновлену статистику по трасі.
- tracemap — програма, що дозволяє виконувати трасування шляху на декілька хостів одразу та представити отримані дані у вигляді графічної карти.
- tcptraceroute (tracetcp) — аналогічна traceroute програма, але призначена для діагностики TCP-з'єднань; замість UDP-пакетів використовує TCP-пакети відкриття з'єднання (SYN|ACK) зі вказаним сервісом (за замовчуванням — вебсервер, порт 80) хоста, що цікавить; внаслідок отримується інформація про час проходження даного виду TCP-пакетів через маршрутизатори й інформація про доступність сервісу на хості, що цікавить, або, в разі проблем із доставкою пакетів — бачимо, в якому місці траси вони виникли.
Див. також
- ping
- [en]
Зноски
- traceroute gives only stars + how to fix unix.stackexchange.com
Посилання
- tracemap [ 12 березня 2018 у Wayback Machine.] — програма, що дозволяє виконувати трасування шляху на декілька хостів одразу та надати отримані дані у вигляді графічної карти.
- traceroute.org [ 2 липня 2006 у Wayback Machine.] — трасування з різних точок світу онлайн.
- trace.die.net [ 8 березня 2018 у Wayback Machine.]
- Онлайн-трасування одразу з декількох точок [ 28 липня 2013 у Wayback Machine.] — Точки розташовані в Голландії, Гонконгу, США, Хорватії, Україні, Малайзії, Росії, Індії та Туреччині.
- Перевірка «Traceroute» з різних частин світу [ 12 березня 2018 у Wayback Machine.] — з можливістю вибору протоколу перевірки (ICMP, UDP, TCP).
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Traceroute sluzhbova komp yuterna programa priznachena dlya viznachennya marshrutiv sliduvannya danih u merezhah TCP IP Traceroute mozhe vikoristovuvati rizni protokoli peredachi danih zalezhno vid operacijnoyi sistemi pristroyu Takimi protokolami mozhut buti UDP TCP ICMP abo GRE Komp yuteri zi vstanovlenoyu operacijnoyu sistemoyu Windows vikoristovuyut ICMP protokol pri comu operacijni sistemi Linux i marshrutizatori Cisco protokol UDP Grafichnij interfejs do traceroute u gnome nettool v Ubuntu 6 10 Traceroute vhodit do skladu bilshosti suchasnih merezhevih operacijnih sistem U sistemah Microsoft Windows cya programa maye nazvu tracert a v sistemah GNU Linux Cisco IOS i Mac OS traceroute Rozglyanemo priklad roboti programi v operacijnij sistemi Windows Programa tracert vikonuye vidpravlennya danih vkazanomu vuzlu merezhi pri comu vidobrazhayuchi vidomosti pro vsi promizhni marshrutizatori cherez yaki projshli dani na shlyahu do cilovogo vuzla V razi problem pri dostavci danih do yakogo nebud vuzla programa dozvolyaye viznachiti na yakij same dilyanci merezhi vinikli nespravnosti Neobhidno zaznachiti sho programa pracyuye lishe v napryamku vid dzherela paketiv i ye velmi grubim instrumentom dlya viyavlennya nespravnostej u merezhi V silu osoblivostej roboti protokoliv marshrutizaciyi u merezhi Internet zvorotni marshruti chasto ne zbigayutsya z pryamimi prichomu ce spravedlivo dlya vsih promizhnih vuzliv u trejsi Tomu ICMP vidpovid vid kozhnogo promizhnogo vuzla mozhe jti svoyim vlasnim marshrutom zagubitisya chi prijti z bilshoyu zatrimkoyu hocha v dijsnosti z paketami yaki adresovani kincevomu vuzlu cogo ne vidbuvayetsya Krim togo na promizhnih marshrutizatorah chasto stoyit obmezhennya kilkosti vidpovidej ICMP na odinicyu chasu sho sprichinyuye poyavu hibnih utrat Princip roboti tracerouteDlya viznachennya promizhnih marshrutizatoriv traceroute nadsilaye cilovomu vuzlu seriyu ICMP paketiv za zamovchuvannyam tri paketi iz kozhnim krokom zbilshuyuchi znachennya polya TTL chas zhittya na 1 Ce pole zazvichaj vkazuye maksimalnu kilkist marshrutizatoriv yaka mozhe buti projdena paketom Persha seriya paketiv nadsilayetsya z TTL 1 displaystyle TTL 1 i tomu pershij zhe marshrutizator povertaye nazad ICMP povidomlennya time exceeded in transit yake pokazuye nemozhlivist dostavki danih Traceroute fiksuye adresu marshrutizatora a takozh chas mizh vidpravlennyam paketa j otrimannyam vidpovidi ci vidomosti vivodyatsya na monitor komp yutera Potim traceroute povtoryuye vidpravlennya seriyi paketiv ale vzhe z TTL 2 displaystyle TTL 2 sho zmushuye pershij marshrutizator zmenshiti TTL paketiv na odinicyu ta skeruvati yih do drugogo marshrutizatora Drugij marshrutizator otrimavshi paketi z TTL 1 displaystyle TTL 1 tak samo povertaye time exceeded in transit Proces povtoryuyetsya doti doki paket ne dosyagne cilovogo vuzla Pri otrimanni vidpovidi vid cogo vuzla proces trasuvannya vvazhayetsya zavershenim Na kincevomu hosti IP datagrama z TTL 1 displaystyle TTL 1 ne vidkidayetsya ta ne viklikaye ICMP povidomlennya tipu termin vicherpano a povinna buti viddana zastosunku Dosyagnennya punktu priznachennya viznachayetsya nastupnim chinom datagrami sho nadsilayutsya traceroute mistyat UDP paket iz nomerom portu na adresovanomu hosti sho napered ne vikoristovuyetsya Nomer portu dorivnyuvatime 33434 maksimalna kilkist tranzitnih dilyanok do vuzla 1 U punkti priznachennya UDP modul otrimuyuchi podobni datagrami povertaye ICMP povidomlennya pro pomilku port nedostupnij Takim chinom abi diznatisya pro zavershennya roboti programi traceroute dostatno viyaviti nadhodzhennya ICMP povidomlennya pro pomilku cogo tipu Priklad u WindowsZapusk programi vidbuvayetsya z komandnogo ryadka Dlya cogo koristuvach povinen uvijti do nogo Dlya operacijnih sistem rodini Windows isnuyut dekilka sposobiv zapusku komandnogo ryadka Pusk Vikonati V poli Vidkriti napisati cmd i natisnuti OK Poyednannya klavish Win knopka z logotipom Windows R povinni buti natisneni odnochasno V poli Vidkriti napisati cmd i natisnuti OK Pusk Vsi programi chi prosto Programi zalezhit vid versiyi operacijnoyi sistemi Standartni Komandnij ryadok U vikni sho vidkrilosya napisati tracert span class w span example net de tracert zvernennya do programi a en bud yakij domen abo IPv4 adresa C Users Administrator gt tracert uk wikipedia org Trasuvannya marshrutu do uk wikipedia org 91 198 174 192 z maksimalnoyu kilkistyu stribkiv 30 1 lt 1 ms lt 1 ms lt 1 ms 192 168 0 1 2 lt 1 ms lt 1 ms lt 1 ms 10 39 0 1 3 1 ms 1 ms 1 ms 193 0 240 161 4 3 ms 3 ms 3 ms 10ge12 17 core1 kbp1 he net 216 66 88 137 5 21 ms 24 ms 23 ms 10ge1 12 core1 waw1 he net 72 52 92 33 6 25 ms 25 ms 24 ms 100ge12 2 core1 ber1 he net 184 105 65 26 7 43 ms 38 ms 58 ms 100ge3 1 core1 ams1 he net 184 105 65 17 8 39 ms 39 ms 40 ms ae2 cr2 esams wikimedia org 80 249 209 176 9 39 ms 39 ms 39 ms text lb esams wikimedia org 91 198 174 192 Trasuvannya zaversheno Priklad u LinuxV UNIX Linux sistemah isnuyut rezhimi v yakih zapusk programi mozhlivij lishe vid imeni superkoristuvacha Root administratora Do chisla cih rezhimiv vidnositsya vazhlivij rezhim trasuvannya za dopomogoyu ICMP klyuch I V reshti vipadkiv traceroute mozhe pracyuvati vid imeni zvichajnogo ryadovogo koristuvacha Pri comu parametri za zamovchuvannyam vidriznyayutsya vid distributivu do distributivu hocha v dovidci tradicijno pishetsya klyuch U UDP yak takij V okremih distributivah zasnovanih na RedHat faktichno yak zamovchuvannya vikoristovuyetsya I tomu v razi yaksho komanda z nastupnogo priklada vivede povidomlennya pro nestachu prav sprobujte yavno vkazati klyuch U user localhost traceroute bihus info traceroute to bihus info 104 21 61 166 64 hops max 1 192 168 0 1 0 272 ms 0 194 ms 0 172 ms 2 192 168 89 1 0 352 ms 0 219 ms 0 226 ms 3 192 168 88 1 0 510 ms 0 375 ms 0 379 ms 4 91 224 24 108 2 632 ms 3 695 ms 2 949 ms 5 82 193 99 246 3 300 ms 3 893 ms 4 020 ms 6 185 1 50 68 4 224 ms 3 507 ms 3 823 ms 7 104 21 61 166 2 929 ms 2 857 ms 3 123 msProblemi z fayervolamiIsnuye hibne perekonannya sho traceroute yak i ping pracyuye lishe za dopomogoyu protokolu ICMP Cherez ce administratori pochatkivci dozvolivshi u fayervoli lishe protokol ICMP otrimuyut robochij ping i nerobochij traceroute Dlya vipravlennya takoyi situaciyi neobhidno dodatkovo dozvoliti u fayervoli UDP paketi na porti ponad 33434 yaki traceroute vikoristovuye shob sprovokuvati ICMP vidpovidi vid hosta u deyakih dzherelah zaznacheno sho dostatno vkazati diapazon portiv vid 33434 do 33534 Shob obijti cyu problemu mozhna zmustiti traceroute posilati ICMP paketi dodavshi klyuch I Alternativi ta dopovnennya do tracerouteOtrimana za dopomogoyu tracemap grafichna karta trasuvannya shlyahu na korenevi serveri DNS z hosta roztashovanogo v Kiyevitracepath shozha na traceroute programa ale mozhe buduvati asimetrichni trasi ta maye deyaki inshi vidminnosti MTR interaktivna programa zdatna postijno vivoditi onovlenu statistiku po trasi tracemap programa sho dozvolyaye vikonuvati trasuvannya shlyahu na dekilka hostiv odrazu ta predstaviti otrimani dani u viglyadi grafichnoyi karti tcptraceroute tracetcp analogichna traceroute programa ale priznachena dlya diagnostiki TCP z yednan zamist UDP paketiv vikoristovuye TCP paketi vidkrittya z yednannya SYN ACK zi vkazanim servisom za zamovchuvannyam vebserver port 80 hosta sho cikavit vnaslidok otrimuyetsya informaciya pro chas prohodzhennya danogo vidu TCP paketiv cherez marshrutizatori j informaciya pro dostupnist servisu na hosti sho cikavit abo v razi problem iz dostavkoyu paketiv bachimo v yakomu misci trasi voni vinikli Div takozhping en Znoskitraceroute gives only stars how to fix unix stackexchange comPosilannyatracemap 12 bereznya 2018 u Wayback Machine programa sho dozvolyaye vikonuvati trasuvannya shlyahu na dekilka hostiv odrazu ta nadati otrimani dani u viglyadi grafichnoyi karti traceroute org 2 lipnya 2006 u Wayback Machine trasuvannya z riznih tochok svitu onlajn trace die net 8 bereznya 2018 u Wayback Machine Onlajn trasuvannya odrazu z dekilkoh tochok 28 lipnya 2013 u Wayback Machine Tochki roztashovani v Gollandiyi Gonkongu SShA Horvatiyi Ukrayini Malajziyi Rosiyi Indiyi ta Turechchini Perevirka Traceroute z riznih chastin svitu 12 bereznya 2018 u Wayback Machine z mozhlivistyu viboru protokolu perevirki ICMP UDP TCP