Wtorek, 11 grudnia 2018 r.
https://www.pichen.com/

Get Firefox!
Valid XHTML 1.0 Strict
Poprawny CSS!

Programy ping i tracert

Ping

Autorem programu ping jest Michael John Muuss (16.10.1958 - 20.11.2000). Program został napisany w grudniu 1983 r. i działał w systemie BSD UNIX 4.2a. Ping jest narzędziem sieciowym używanym w sieciach opartych na protokole IP. Jego podstawowym zadaniem jest sprawdzanie, czy badany host jest osiągalny w sieci. Program mierzy przy tym czas całkowitej wędrówki pakietu między komputerem badającym a badanym. Ponadto po zakończeniu badania program wyświetla statystyki dotyczące m.in. minimalnego, maksymalnego i średniego czasu wędrówki pakietów, jak również procent pakietów utraconych. Do swej pracy program używa protokołu ICMP (protokół internetowy komunikatów kontrolnych, opisany w dokumencie RFC-792). Działanie polega na wysyłaniu komunikatu nr 8 (Echo Request - żądanie echa) i oczekiwaniu przez ustalony czas na nadejście odpowiedzi na wysłaną wiadomość. Odpowiedź może nadejść w postaci komunikatu nr 0 (Echo Reply - odpowiedź na żądanie echa) lub jako komunikat nr 3 (Destination Unreachable - nieosiągalność adresata). Czas mierzony jest od momentu wysłania żądania echa do momentu otrzymania jego potwierdzenia. Brak odpowiedzi w programie ping wcale nie musi oznaczać, że adresat jest nieosiągalny.
Na początku 2003 roku niektórzy dostawcy Internetu zaczęli ustawiać tak swoje zapory sieciowe, aby nie przepuszczały komunikatów żądania echa protokołu ICMP. Działania te były spowodowane pojawieniem się komputerowego robaka “Welchia”, który zalewał sieć żądaniami echa w celu lokalizowania swych ofiar.

Obecnie ping dostępny jest praktycznie we wszystkich systemach operacyjnych w którym dostępny jest stos TCP/IP, choć ustawienia domyślne mogą się różnić.
Dla przykładu, w systemie Windows program wykonuje 4 próby badania hosta. W systemach UNIX z kolei, próby wykonywane są do momentu przerwania pracy programu. Standardowa długość pakietu to 32 bajty w systemach firmy Microsoft, a 64 bajty w systemach UNIX. Długość pakietu można zmieniać i wynosi ona maksymalnie do 65500 bajtów dla obu systemów.

Traceroute

Autorem pierwszej wersji programu traceroute jest Van Jacobson. Został on napisany w roku 1987. Zgodnie z nazwą, program śledzi trasę, przez jaką przechodzą pakiety wysłane z komputera wysyłającego do adresu zdalnego.

Przed omówieniem pracy programu należy zapoznać się z terminem TTL. TTL to ośmiobitowe pole zawarte w każdym datagramie IP, nazwa pola to skrót angielskich słów Time To Live. Pole to zawiera informację o tzw. czasie życia datagramu, czyli informację o maksymalnym czasie podanym w sekundach, w którym datagram ten może pozostać w sieci. Przy wysyłaniu jakiegokolwiek datagramu IP system operacyjny ustawia pewną wartość początkową pola TTL. Wymogiem każdego routera sieciowego jest zmniejszanie wartości TTL o taką ilość czasu, jaką potrzebował router na przetworzenie owego datagramu. Ponieważ jednak przetwarzanie to zajmuje na ogół ułamki sekund, to wymóg mówi, że należy odjąć wartość nie mniejszą niż 1. Jeśli wartość pola wynosi zero, to wówczas datagram powinien zostać usunięty i powinien zostać wysyłany do jego nadawcy komunikat nr 11 (Time Exceeded - przekroczenie limitu czasu) protokołu ICMP. Dzięki polu TTL zlikwidowano możliwość sytuacji, w których datagramy mogłyby się zapętlić i pozostawać w sieci cały czas. Wyobraźmy sobie następującą sytuację. Router A został tak skonfigurowany że przekazuje pewien datagram do routera B, natomiast router B po analizie datagramu, wysyła go znowu do routera A. W sytuacji tej datagram krążyłby ciągle między routerami, jednakże dzięki TTL do takiej sytuacji nie dojdzie. Właśnie omówione cechy zostały wykorzystane do napisania narządzia traceroute.

Program traceroute działa w ten sposób, że pod wskazany adres wysyła pakiety z różnym ustawieniem pola TTL. Na początku wartość wynosi 1, potem 2, itd. W ten sposób będą napływały komunikaty ICMP nr 11, których adresatem będą poszczególne hosty przez które pakiet przechodził.

Omawiane narzędzie jest także dostępne w większości systemów operacyjnych, które obsługują stos TCP/IP, jednakże występują większe różnice między systemami operacyjnymi, aniżeli w przypadku programu ping. Np. w systemach UNIX program wysyła domyślnie datagramy UDP z portem docelowym zaczynającym się od 33434. Z kolei w systemach Windows program tracert (inna nazwa programu!) wysyła komunikaty nr 8 protokołu ICMP. Cechą wspólną programu dla wszystkich systemów jest to, że polega on na powracających komunikatach nr 11 protokółu ICMP.

Śledzenia trasy pingiem?

Co ciekawe program ping także umożliwia (z pewnymi ograniczeniami) śledzenie trasy pakietu. Należy w tym celu użyć przełącznika "-r" i wpisać liczbę przeskoków, które mają być zbadane (np. "ping -r 6 www.pichen.com"). Nie działa on wówczas tak jak traceroute, tzn. nie wysyła serii datagramów z kolejnymi wartościami TTL. Program wysyła natomiast standardowy komunikat żądania echa, lecz także włącza opcję Record Route (zapamiętaj trasę) w nagłówku IP. Kiedy router otrzymuje datagram z aktywną opcją zapamiętania trasy, to powinien wpisać w rekordzie trasy adres na jaki datagram zostanie przekazany przez router. Każde następne routery wpisują do rekordu trasy kolejne adresy. Wynika z tego, że podawane adresy śledzenia trasy pokazują adresy interfejsów, na jakie w wyniku routingu, został skierowany datagram z żądaniem echa.

Ograniczeniem metody jest to, że można śledzić trasę dla maksymalnie 9 przeskoków. Ponadto ze względów wydajnościowych nie wszystkie routery są skonfigurowane tak, aby mogły dopisywać dane do rekordu trasy, dlatego rzadko korzysta się z opcji śledzenia trasy programu ping.


Waszym zdaniem...

Na razie nie ma jeszcze żadnych komentarzy. Bądź pierwszy!

Aktualności

2017-05-14

Od dzisiaj strona jest dostępna wyłącznie w połączeniu szyfrowanym (bezpiecznym). Naprawiłem niedziałające odnośniki do galerii, usunąłem problem z wyświetlaniem znaków na starszych stronach relacji z Rosji, Ukrainy i Chin. Dodałem zdjęcia do mojego bloga o Malezji.

2017-05-07

Tydzień przeprowadziłem się do pracy do Kuala Lumpur w Malezji. Zapraszam do przeczytania mojego bloga dotyczącego tej przygody.

2017-03-21

Dodałem obsługę protokołu SSL. Strona dostępna jest także w bezpiecznej, zaszyfrowanej wersji. Drobne korekty w artykułach (dzięki Chris!). Zaktualizowałem sekcję Podróże.

2012-06-06

Dodałem relację z mojej podróży na wschód Kanady w 2010 r. Wzbogaciłem stronę o obsługę komentarzy. Naprawiłem formularz kontaktowy – odtąd korzysta z technologii AJAX. Przeszedłem na użycie tzw. „przyjaznych linków”.

2010-03-30

Dodałem wg mnie ciekawy artykuł opisujący sposób instalacji systemu openSUSE bez użycia nośników instalacyjnych. Do tego celu użyta zostanie technologia PXE umożliwiająca rozruch komputera z sieci. Zapraszam do przeczytania artykułu.

2009-07-18

Zaaktualizowałem informacje o sobie oraz dane kontaktowe. Dodałem nowe podstrony, tj. strony zawierające arytykuły dotyczące systemów UNIX oraz Linux. Ponadto dodałem odnośniki do moich profili na popularnych portalach społecznościowych. Na stronie pojawił się także odnośnik do mojej galerii zdjęć w systemie Google Picasa. Zaktualizowałem zbiór odnośników do relacji z podróży do Chin, Rosji i Mongolii.

2008-07-29

Dodałem podstronę, na której umieściłem przykładowe skrypty systemów uniksowych. Strona została przeniesiona na nowy serwer. Zmieniłem także kodowanie znaków strony na UTF-8.

2006-09-02

Dodałem galerię zdjęć. W galerii umieściłem zdjęcia z podróży do Chin, która odbyła się w 2005 roku. Jako, że aktualnie służę w wojsku, to w galerii umieściłem 4 zdjęcia z przysięgi wojskowej.
Osoby oczekujące na relację z Chin informuję, że jeszcze w tym roku powinna się pojawić na stronie.
 
© Copyright 2000 - 2018 Dawid Pichen. All rights reserved.