« Отговор #10 -: Apr 27, 2007, 09:37 »
Жалко.
Обаче има разлика. tracepath подобно на traceroute очаква ICMP TTL exceeded, за да "разбере" за хоповете по пътя. Дали е стигнало до последният хоп разбира по това дали от хоп-а е дошло или не ICMP TTL exceeded. И двете използват за целта UDP пакети с нарастващ TTL, които обаче нямат никакво отношение към една HTTP комуникация и също така е вероятно някъде по пътя да се филтрират, за разлика от "легитимния" HTTP трафик.
tcptraceroute донякъде работи по същият начин, за да разбере хоповете по пътя (TTL exceeded), но има друг механизъм да прецени дали е достигнат destination-a. Вместо да разчита на ICMP протокола, разчита на TCP. Като изпрати SYN пакет, ако целта е достъпна трябва да му се върне или SYN-ACK (ако е отворен порта) или RST (ако е затворен). При положение, че портът е филтриран или няма свързаност до него - тогава не му се връща нищо. Това е доста надежден механизъм да се прецени дали имаш свързаност до сайта или някъде по пътя някой те филтрира или има други проблеми..
А имаш ли пакет дето provide-ва hping3 ? С него може лесно да изсимулираме това, което прави tcptraceroute...