PING w systemach Windows XP i Linux.

Polecenie ping jest nieocenionym narzędziem. Pozwala sprawdzić dostęp do internetu, komputera który stoi w pokoju obok, jednym słowem czegokolwiek co ma adres IP. Dlatego warto wiedzieć jak z niego korzystać.

Zacznijmy od systemu operacyjnego ze stajni Microsoftu.

WINDOWS XP

Polecenie jest dostępne po wywołaniu konsoli systemowej. Czynimy to klepiąc

Start - Uruchom - w polu uruchom wpisując cmd i akceptując to poprzez naciśnięcie OK. Naszym oczom ukaże się czarna konsola systemowa.

Początkowo możemy sprawdzić czy mamy kontakt ze światem. Piszemy ping www.onet.pl

Komputer jest podłączony do internetu. Polecenie ping nie tylko do tego. Załóżmy że chcemy sprawdzić łączność z komputerem w pokoju obok, którego ip to 192.168.0.30. Piszemy ping 192.168.0.30

Oto wyniki...

Badanie 192.168.0.30 z użyciem 32 bajtów danych:

Odpowiedź z 192.168.0.30: bajtów=32 czas<1 ms TTL=128
Odpowiedź z 192.168.0.30: bajtów=32 czas<1 ms TTL=128
Odpowiedź z 192.168.0.30: bajtów=32 czas<1 ms TTL=128
Odpowiedź z 192.168.0.30: bajtów=32 czas<1 ms TTL=128

W przypadku łącz radiowych wysłanie 4 pakietów (standardowa ilość) może być za mała aby prawidłowo ocenić działanie łącza. Dlatego polecenie ping można wykonać z kilkoma atrybutami. W naszych przykładach cały czas "rozmawiamy" z komputerem którego ip to 192.168.0.30.

-t Pakiety będą wysłane dopóki użytkownik nie przerwie tej operacji naciskając kombinację klawiszy ctrl + c.

ping -t 192.168.0.30

-n Określa liczbę pakietów jakie mają być wysłane. Jeżeli chcemy wysłać 20 pakietów piszemy

ping -n 20 192.168.0.30
 -l Określa rozmiar wysyłanego pakietu. Jest to pomocne w celu dokładnego zbadania łącza radiowego. Często w przypadku łącz radiowych małe pakiety przechodzą bez problemu a duże kuleją. Największy możliwy do przesłania pakiet ma wielkość 65500 bajtów

ping -l 65500 192.168.0.30

-a Jeżeli znamy adres ip a nie wiemy jakiemu adresowi hosta on odpowiada przydatny jest atrybut -a. Umożliwia on zbadanie nazwy hosta. Mając przykładowo adres ip 213.180.130.200 piszemy

ping -a 213.180.130.200

oto wynik takiej operacji

C:\Documents and Settings\Bartek>ping -a 213.180.130.200

Badanie f1virt.onet.pl [213.180.130.200] z użyciem 32 bajtów danych:

Odpowiedź z 213.180.130.200: bajtów=32 czas=51ms TTL=59
Odpowiedź z 213.180.130.200: bajtów=32 czas=19ms TTL=59
Odpowiedź z 213.180.130.200: bajtów=32 czas=19ms TTL=59

Widać że ip należy do portalu ONET.PL.  

-w Określenie w milisekundach czasu oczekiwania na pakiet.

ping -w 25 www.onet.pl

Sprawi że przy wszystkich pakietach które pojawił się póżniej niż po 25 sekudnach pojawi się informacja "Upłynął limit czasu żądania"

-i Określa wartość pola czasu wygaśnięcia (TTL, Time to Live) w nagłówku protokołu IP dla wysyłanych komunikatów żądania echa. Domyślnie przyjmowana jest wartość domyślna TTL hosta. Ping zanim dotrze do danego serwera przechodzi zazwyczaj długą i zawiłą drogę, przez router, następnie serwer providera aż w końcu trafia do celu. Na każdą przeszkodę zużywa jeden TTL. Łatwo sprawdzić że z parametrem -i równym jeden nie odpowie żadna strona www.


C:\Documents and Settings\Bartek>ping -i 1 www.onet.pl

Badanie www.onet.pl [213.180.130.200] z użyciem 32 bajtów danych:

Odpowiedź z 192.168.0.1: Limit czasu wygaśnięcia (TTL) upłynął podczas tranzytu

Dopiero zwiększenie wartości i do 7 dało zadawalające rezultaty.

C:\Documents and Settings\Bartek>ping -i 7 www.onet.pl

Badanie www.onet.pl [213.180.130.200] z użyciem 32 bajtów danych:

Odpowiedź z 213.180.130.200: bajtów=32 czas=28ms TTL=59

LINUX

-c

Liczba pakietów jaka ma być wysłana.

ping -c 20 192.168.0.30

wysyła 20 pakietów.

-i

Linux domyślnie wysyła pakiet co sekundę. Możemy jednak skonfigurować ping tak aby robił to rzadziej. W tym celu po poleceniu ping wstawiamy parametr -i z odpowiednia liczbą sekund

ping -i 5 192.168.0.30

Pakiety będą wysyłane co 5 sekund.

-q

Polecenie nie pokazuje bieżących wyników swojej pracy. Są one dostępne dopiero po naciśnięciu ctrl +c

-s

Pozwala określić wielkość wysyłanego pakietu.

-l

Pozwala wysłać określoną po l liczbę pakietów tak szybko jak to jest możliwe.

ping -l 5 192.168.0.30

wyśle błyskawicznie 5 pakietów a następnie już normalnie pozostałe.

-f

Parametr stosowany bez liczby. Polecenie ping użyte z nim zalewa dany komputer pakietami tak szybko jak to możliwe. Można przerwać wysyłanie pakietów kombinacją ctrl+c. Pakiet ekstremalnie testuje łącze.

ping -f 192.168.0.30

-R

Pozwala zobaczyć drogę jaką pokonują pakiety w sieci lokalnej.

Duplikowanie pakietów

(na podstawie artykuł z www.bestpartner.pl)

Przewaga polecenia ping z Linuxa polega na tym że pokazuje on kiedy pakiety się duplikują, czyli nakładają na siebie. Duplikowanie pakietów zdarza się na łączach radiowych przy źle dobranym parametrze ACK wtedy po wydaniu polecenia ping można zaobserwować wyniki widoczne poniżej

PING 192.168.0.251 (192.168.0.251) from 192.168.0.3 : 56(84) bytes of data.
64 bytes from 192.168.0.251: icmp_seq=0 ttl=30 time=2.24 ms
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=2.97 ms
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=3.74 ms (DUP!)
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=4.89 ms (DUP!)
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=5.95 ms (DUP!)
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=6.98 ms (DUP!)
64 bytes from 192.168.0.251: icmp_seq=1 ttl=30 time=9.44 ms (DUP!)
64 bytes from 192.168.0.251: icmp_seq=2 ttl=30 time=3.08 ms
--- 192.168.0.251 ping statistics ---
3 packets transmitted, 3 received, +5 duplicates, 0% loss
round-trip min/avg/max/stddev = 2.976/5.962/9.440/2.296 ms

Wysyłające radio czeka 1 ramkę czasową, czyli ok. 20 mikrosekund na potwierdzenie ACK z radia odbierającego transmisję. Ten czas zwany jest "ACK window". Jeśli nie nadejdzie potwierdzenie ACK w czasie określonym przez "ACK window", wysyłające radio będzie powtarzać transmisję tyle razy, ile wyznacza parametr określający ilość maksymalnych powtórek dla pakietu. Radio odbierające zachowuje się identycznie, oczekując na ACK z radia nadającego.Czas 20 mikrosekund jest wystarczający dla łączy do 2km. Dłuższe łącza, aby uniknąć występowania duplikatów, wymagają dłuższego czasu oczekiwania na ACK. Producenci tanich punktów dostępowych nie umożliwiają parametryzowania czasu oczekiwania na potwierdzenia transmisji. Wyższej klasy sprzęt ma ten parametr konfigurowalny, bądź w opcjach typu "Link Distance" z możliwością wpisania wartości lub wybrania parametru "short - medium - long"