2013-05-11 12 views
9

Jestem w stanie załadować stronę www.cnn.com w przeglądarce Chrome, ale gdy wykonuję operację traceroute z wiersza poleceń (OSX), limit czasu wyniesie na poziomie level.net.Jak to jest możliwe dla traceroute do przekroczenia limitu czasu, ale witryna ładuje się dobrze w przeglądarce?

Użyłem tego rozszerzenia Chrome do zweryfikowania adresu IP, Chrome korzysta z www.cnn.com (nie mogę znaleźć drogę z Chrome debuggera aby zobaczyć adresy IP): https://chrome.google.com/webstore/detail/ipvfoo/ecanpcehffngcegjmadlcijfolapggal

I kiedy użyć CLI do traceroute do tego samego adresu IP, czasy się ??

Czy istnieje jakakolwiek diagnostyka, aby dowiedzieć się, czy powodem, dla którego traceroute w tym przypadku kończy się limit czasu? Myślałem, że zarówno traceroute, jak i przeglądarki używają tej samej warstwy sieciowej systemu operacyjnego do kierowania ruchu TCP/IP?

+6

Okazuje się, że OSX domyślnie używa UDP dla traceroutów, i widocznie wiele routerów blokuje tracerouty oparte na UDP. Używając: "traceroute -I www.site.com", możesz użyć pakietów wychodzących ICMP, które nie są blokowane (lub co najmniej mniej prawdopodobne, że zostaną zablokowane). Kiedy zacząłem używać - prawie wszystkie moje dane tracerout przechodziłyby bez przekroczenia limitu czasu. – jpeskin

+0

-l nie działa dla mnie: Użycie: traceroute [-adDeFInrSvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface] \t [-M first_ttl] [-m max_ttl] [- p port] [-P proto] [-q nqueries] [-s src_addr] \t [-t tos] [-w termin ważności] [-z pausemsecs] host [pakieteten] –

+4

@KorayTugay Flaga jest wielką literą "i" , nie jest to mała litera "L" – Tur1ng

Odpowiedz

39

Jeśli router po drodze zdecyduje się nie wysyłać komunikatu o błędzie ICMP, w tym punkcie traceroute zostanie przekroczony limit czasu.

Router może przekazywać normalny ruch, co pozwala na zakończenie żądania HTTP opartego na protokole TCP, ale może po cichu zrzucić żądania ICMP lub błędy, pozostawiając proces lokalnego traceroute oczekiwania, a następnie czas oczekiwania na zatrzymanie.

+1

+1 dla prawdziwej odpowiedzi. –

+0

można pisać o trasie śledzenia przy użyciu timeoutów icmp i jak powtarzanie może uzyskać inną trasę i inny wynik ... –

+0

Jest * ton * informacji do napisania lub przeczytania, jeśli chcesz wiedzieć, jak i dlaczego działa traceroute, a ja nie jestem ekspertem w żadnej z nich, nie wahaj się edytować odpowiedzi, aby podać te informacje, lub zapisz własną odpowiedź. Obawiam się, że szczegóły są poza moją ligą. –

1

Traceroute polega na serwerach sieci Web, aby zwrócić odpowiedź, ponieważ dane przetwarzają ścieżkę. Te serwery nie są zobowiązane do udzielenia odpowiedzi ani do udzielenia odpowiedzi na twoje polecenie traceroute. W związku z tym twój traceroute utknął czekając na odpowiedź, która nie nadejdzie, nawet jeśli twoje dane dotarły do ​​celu.

Jeśli serwer między tobą a cnn.com zdecyduje się nie wysyłać odpowiedzi na twój traceroute, może obciąć pozostałe odpowiedzi.

+2

żadne serwery internetowe nie są inną warstwą. –