ping
Z Wikipedii
ping – nazwa programu używanego w sieciach komputerowych TCP/IP (takich jak Internet) służącego do diagnozowania połączeń sieciowych. Pozwala na sprawdzenie czy istnieje połączenie pomiędzy hostami testującym i testowanym. Umożliwia on także określenie jakości połączenia między nimi poprzez mierzenie liczby zgubionych pakietów oraz czasu potrzebnego na ich transmisję, czyli pomiaru latencji pakietów zwanej lagami.
Mike Muuss (1958-2000) wymyślił i napisał pierwszą implementację pinga w grudniu 1983 pod 4.2aBSD UNIX. Razem z koniecznymi zmianami w jądrze systemu pojawiła się ona w 4.3BSD UNIX.
Spis treści |
[edytuj] Nazwa
Autor użył nazwy sygnału z aktywnego sonaru, który jest emitowany w kierunku innego okrętu w celu jego dokładnej identyfikacji. W obu przypadkach wysyłany jest sygnał, który po pewnym czasie wraca odbity.
Później inni uznawali nazwę ping jako skrótowiec. Jednym z popularniejszych rozwinięć w języku angielskim jest Packet Internet Groper (groper to ten, kto szuka po ciemku/po omacku).
Przez analogię do technologii sonaru, autor używał również nazwy ping na pakiety używane przez program.
[edytuj] Działanie
Ping korzysta z protokołu ICMP, wysyła pakiety ICMP Echo Request i odbiera ICMP Echo Reply.
Większość publicznie dostępnych serwerów obsługuje te pakiety. W takiej sytuacji aplikacja ping pozwala na sprawdzenie poprawnego działania sieci komputerowej, jednakże większość użytkowników programu ping jest błędnie przekonana, że jeśli zdalny host nie odpowiada na wysłane pingi, to jest tak tylko gdy nie jest włączony lub jest problem z siecią pomiędzy obiema maszynami.
Warto dlatego pamiętać, iż blokowanie wysyłania pakietów-odpowiedzi ICMP Echo Reply (stosuje się do tego celu zapory sieciowe lub filtry w routerach) jest jedną z powszechnych metod ochrony przed atakiem z sieci. Jest tak gdyż analiza pakietów ICMP Echo Reply nie tylko potwierdza istnienie hosta pod danym adresem IP, ale często również pozwala na dokładne określenie systemu operacyjnego, co ułatwia zaatakowanie komputera.
Również odpowiedź na ping nie oznacza, że serwis (np. witryna www) na tym systemie pracuje, a nawet, że system operacyjny w dalszym ciągu działa.
[edytuj] Przykłady działania
Implementacje pod AIX i z pakietu iputils (dla systemów UNIX, Linux i Cygwin) domyślnie wysyłają pakiety bez przerwy, wersje z Solaris domyślnie tylko podają czy otrzymano odpowiedź, implementacje w Microsoft Windows domyślnie wysyłają tylko cztery pakiety.
[edytuj] System Linux
root@alfa:~# ping -c 5 pl.wikipedia.org PING pl.wikipedia.org (130.94.122.197): 56 octets data 64 octets from 130.94.122.197: icmp_seq=0 ttl=46 time=26.5 ms 64 octets from 130.94.122.197: icmp_seq=1 ttl=46 time=26.1 ms 64 octets from 130.94.122.197: icmp_seq=2 ttl=46 time=25.1 ms 64 octets from 130.94.122.197: icmp_seq=3 ttl=46 time=26.1 ms 64 octets from 130.94.122.197: icmp_seq=4 ttl=46 time=27.1 ms --- pl.wikipedia.org ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 250.1/260.3/270.1 ms
[edytuj] System Solaris
gniezno% ping pl.wikipedia.org pl.wikipedia.org is alive
[edytuj] System Windows
C:\WINDOWS>ping pl.wikipedia.org Badanie rr.knams.wikimedia.org [145.97.39.155] z użyciem 32 bajtów danych: Odpowiedź z 145.97.39.155: bajtów=32 czas=35ms TTL=49 Odpowiedź z 145.97.39.155: bajtów=32 czas=31ms TTL=49 Odpowiedź z 145.97.39.155: bajtów=32 czas=34ms TTL=49 Odpowiedź z 145.97.39.155: bajtów=32 czas=32ms TTL=49 Statystyka badania ping dla 145.97.39.155: Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 <0% straty>, Szacunkowy czas błądzenia pakietów w milisekundach: Minimum = 31 ms, Maksimum = 35 ms, Czas średni = 33 ms
Dostępne opcje C:\WINDOWS>ping
Sposób użycia: ping [-t] [-a] [-n liczba] [-l rozmiar] [-f] [-i TTL] [-v TOS]
[-r liczba] [-s liczba] [[-j lista_hostów] | [-k lista_hostów] [-w limit_czasu] nazwa_celu
Opcje:
-t Odpytuje określonego hosta do czasu zatrzymania. Aby przejrzeć statystyki i kontynuować, naciśnij klawisze Ctrl+Break. Aby zakończyć, naciśnij klawisze Ctrl+C. -a Tłumacz adresy na nazwy hostów. -n liczba Liczba wysyłanych powtórzeń żądania. -l rozmiar Rozmiar buforu transmisji. -f Ustaw w pakiecie flagę "Nie fragmentuj". -i TTL Czas wygaśnięcia. -v TOS Typ usługi. -r liczba Rejestruj trasę dla przeskoków. -s liczba Sygnatura czasowa dla przeskoków. -j lista_hostów Swobodna trasa źródłowa wg listy lista_hostów. -k lista_hostów Ściśle określona trasa źródłowa wg listy lista_hostów. -w limit_czasu Limit czasu oczekiwania na odpowiedź (w milisekundach).
[edytuj] Zobacz też
inne narzędzia diagnozujące sieć
sposoby ataków na serwer internetowy za pomocą zapytań ICMP Echo Request
[edytuj] Linki zewnętrzne
Zarządzanie plikami i systemem plików: | cat • cd • chattr • chmod • chown • chgrp • cp • du • df • file • fsck • ln • ls • lsof • mkdir • more • mount • mv • pwd • rcp • rm • rmdir • split • touch • tree | ||
Zarządzanie procesami | anacron • at • chroot • cron • crontab • htop • kill • killall • nice • ps • sleep • screen • time • timex • top • renice • wait • watch | ||
Zarządzanie użytkownikami/systemem | env • finger • id • locale • mesg • passwd • su • sudo • uname • uptime • w • wall • who • write | ||
Przetwarzanie tekstu | awk • cut • diff • ex • head • iconv • join • less • more • nkf • paste • sed • sort • tail • tr • uniq • wc • xargs • perl | ||
Programowanie shellowe | echo • expr • unset | Drukowanie | lp |
Komunikacja inetd • netstat • ping • rlogin • traceroute |
Wyszukiwanie find • grep • strings • whereis |
Różne banner • bc • cal • man • yes |