Traceroute

Во компјутерските науки, **<code>traceroute</code>** е мрежна дијагностицирачка алатка за прикажување на патеката и мерење на транспортното задоцнување на пакетите низ мрежата. Историјата на патеката на пакетите се зачувува така што се зачувуваат времињата на пакетите примени од секој следен домаќин (host). Сумата на тие времиња го дава вкупното време потребно да се воспостави врска. Traceroute командата продолжува да се извршува освен ако сите пратени пакети се изгубат повеќе од двапати, тогаш врската е изгубена и патеката не може да биде евалуирана.

Во компјутерските науки, traceroute е мрежна дијагностицирачка алатка за прикажување на патеката и мерење на транспортното задоцнување на пакетите низ мрежата. Историјата на патеката на пакетите се зачувува така што се зачувуваат времињата на пакетите примени од секој следен домаќин (host). Сумата на тие времиња го дава вкупното време потребно да се воспостави врска. **Traceroute** командата продолжува да се извршува освен ако сите пратени пакети се изгубат повеќе од двапати, тогаш врската е изгубена и патеката не може да биде евалуирана.

## Имплементација
Traceroute командата праќа секвенца од три  Internet Control Message Protocol (ICMP) *Echo Request* пакети адресирани до дестинацискиот хост. Time-to-live(TTL) ,вредноста уште позната и како хоп лимит, е користена за одредување на бројот на насочувачите низ кои се минува до одредиштето. Насочувачите ја декрементираат вредностата во полето TTL за 1 при насочување и ги отфрлаат оние пакети чија вредност во TTL полето достигнала нула, генерирајќи ICMP *Time Exceeded* порака за грешка. Најчести почетни вредности за TTL полето се **128** за Windows и **64** за Unix-засновани оперативни системи.
Traceroute работи  преку праќање пакети со постепено зголемување на TTL вредноста, започнувајќи со 1. Првиот насочувач го прима пакетот,ја декрементира TTL вредноста и го отфрла пакетот затоа што вредноста е нула. Насочувачот праќа ICMP Time Exceeded порака назад до изворот. Наредниот сет на пакети  му е дадена вредност на TTL полето 2 ,при што првиот насочувач ги пропушта пакетите,но вториот  насочувач ги отфрла и одговара со ICMP *Time Exceeded* порака. Продолжувајќи на ваков начин Traceroute ги користи повратните ICMP Time Exceeded пораки за да изгради список на насочувачи низ кој поминува пакетот сè до достигнување на одредиштето и веќа ICMP *Echo Reply* порака.
Вратените временски ознаки за секој насочувач низ патеката се вредности на латенција, типично мерени во милисекунди за секој пакет.

 Hop 192.168.1.2 Depth 1
     Probe status: unsuccessful
     Parent: ()
     Return code: Label-switched at stack-depth 1
     **Sender timestamp:** 2008-04-17 09:35:27 EDT 400.88 msec
    ** Receiver timestamp:** 2008-04-17 09:35:27 EDT 427.87 msec
    ** Response time:** 26.92 msec
     MTU: Unknown
     Multipath type: IP
       Address Range 1: 127.0.0.64 ~ 127.0.0.127
     Label Stack:
       Label 1 Value 299792 Protocol RSVP-TE

Испаќачот очекува одговор за определено време од неколку секунди. Ако пакетот не е потврден во очекуваниот временски рок, се појавува ѕвездичка. Интернет протоколот не побарува пакетите да изминуваат иста патека до извесно одредиште,затоа домаќините прикажани на листата можат да бидат домаќини што други пакети ги поминале. Ако хостот во скок N не одговара, скокот не се испишува на излез.

## Употреба
мини|Визуелен тракерут
Повеќето имплементации вклучуваат барем опции да го определат времето за чекање на одговор, лимитот на дозволени скокови и портата. Повикувајќи ја комнадатата traceroute  без дополнителни аргументи прикажува список на достапни опции, додека командата man traceroute прикажува повеќе детали. 
Едноставен пример на Linux:

```bash
$ traceroute -w 3 -q 1 -m 16 example.com
```


Во примерот погоре, селектираните опции се да се чекаат три секунди (наместо пет), да се прати едно query за секој хоп,лимитот е поставен на 16 наместо на 30 со example.com ако последен десинациски хост.
Ова може да помогне да се иднетификуваат некоректните насочувачки табели што може да го блокираат ICMP сообраќајот. На пример *firewall* може да дозволи **ICMP** пакетите да се пратат, но да не дозволи пакети од други протокли.
Traceroute е исто така користена за пенетрациските тестери да добијат информација за мрежната ифраструктура на даден хост.
Тоа може исто така да се искористи при симнување на податоци од интернет,ако на пример постојат повеќе достапни опслужувачи од каде можат да се преземат,хостот може да добие информација за најбрзиот кој тој може да го искористи.

## Потекло
Првата traceroute програма била напишана од Van Jacobson во 1987 од сугестија на Steve Deering, со особено убедливи сугестии или поправки од C. Philip Wood, Tim Seaver и Ken Adelman. Исто така, иноваторот на ping програмот, Mike Muuss, констатира на неговото мрежно место дека traceroute командата е напишана користејќи кернел ICMP поддршка штотој претходно е кодирана за да овозможи ICMP сокети кога тој првпат ја напишал ping програмата.

## Поврзано
* Hop (networking)
* Hop (telecommunications)
* Hop count
* Time to live
* Looking Glass servers
* MTR (software) – computer software which combines the functionality of the traceroute and ping programs in a single network diagnostic tool.
* PathPing – a Windows NT network utility that combines the functionality of ping with that of traceroute (or tracert).
* netsniff-ng, a Linux networking toolkit with an autonomous system traceroute utility
* Layer four traceroute

## Наводи