Provided by: manpages-pl_0.7-2_all bug

NAZWA

       ping, ping6 - wysyła pakiety ICMP ECHO_REQUEST do hostów sieciowych

SKŁADNIA

       ping [-aAbBdDfhLnOqrRUvV] [-c liczba] [-F etykieta-przepływu] [-i interwał] [-I interfejs]
       [-l liczba-pakietów] [-m znacznik] [-M opcja-pmtudisc] [-N opcja-nodeinfo] [-w limit]  [-W
       oczekiwanie]  [-p  wzorzec]  [-Q  tos]  [-s  rozmiar-pakietu]  [-S  sndbuf]  [-t  ttl] [-T
       opcja-znacznika-czasu] [przeskok ...] cel

OPIS

       Program  ping  używa  obowiązkowego  datagramu  protokołu  ICMP  o  nazwie   ECHO_REQUEST,
       wywołującego  ICMP  ECHO_RESPONSE  od  hosta  lub  bramy sieciowej. Datagramy ECHO_REQUEST
       ("pingi") składają się z nagłówka IP oraz ICMP, za którymi następuje struct  timeval  oraz
       określona liczba bajtów wypełnienia, używanych do wypełnienia pakietu.

       ping6  jest wersją ping zgodną z IPv6, która może wysyłać również Node Information Queries
       (RFC4620). Niedozwolone mogą  być  przeskoki,  ponieważ  trasowanie  źródeł  IPv6  zostało
       oznaczone jako przestarzałe (RFC5095).

OPCJE

       -a     Ping dźwiękowy.

       -A     Ping  adaptowalny.  Interwały  pomiędzy poszczególnymi pakietami dostosowują się do
              czasu krążenia w sieci, dzięki czemu w sieci nie pojawi się efektywnie  więcej  niż
              jeden  pakiet,  na  który  nie  udzielono  odpowiedzi  (lub więcej, jeśli ustawiono
              liczbę-pakietów). Minimalny interwał wynosi  200  milisekund  dla  użytkownika  bez
              uprawnień  administratora.  W  przypadku  sieci  z  niskim  rtt  jest  to  de facto
              odpowiednik szybkiego pingowania.

       -b     Pozwala na wysyłanie pingów na adresy rozgłoszeniowe.

       -B     Nie pozwala programowi ping zmieniać źródłowego adresu wysyłanych  pakietów.  Adres
              jest przypisywany do wyboru dokonanego przy starcie programu.

       -c liczba
              Kończy  po  wysłaniu  liczby  pakietów ECHO_REQUEST. Z podanym limitem program ping
              czeka na liczbę pakietów ECHO_RESPONSE, aż do czasu upłynięcia limitu.

       -d     Ustawia opcję SO_DEBUG na używanym gnieździe. Ta opcja  gniazda  nie  jest  używana
              przez jądro Linux.

       -D     Wypisuje znacznik czasowy (w czasie uniksa + mikrosekundy jak w gettimeofday) przed
              każdym wierszem.

       -f     Tryb szybkiego pingowania ("zalania" pakietami). Dla każdego wysłanego ECHO_REQUEST
              wypisywana  jest  kropka ".", a dla każdego odebranego ECHO_REPLY jedna kropka jest
              kasowana.  Daje to dynamiczny obraz zmian liczby opuszczonych pakietów.  Jeśli  nie
              podano  interwału,  jest on ustawiany na zero i pakiety są wysyłane tak szybko, jak
              powracają lub 100 razy na sekundę, w zależności  od  tego,  która  opcja  produkuje
              więcej  pakietów. Tylko użytkownik z uprawnieniami administratora może jej używać z
              zerowym interwałem.

       -F etykieta przepływu
              Tylko ping6. Przypisuje i ustawia 20-bitową  etykietę  przepływu  (szesnastkowo)  w
              pakietach  żądania  odpowiedzi.  Jeśli wartość wynosi zero, jądro przypisuje losową
              etykietę przepływu.

       -h     Wyświetla pomoc.

       -i interwał
              Czeka interwał sekund pomiędzy wysłaniem kolejnych pakietów.  Domyślnie  czeka  się
              jedną  sekundę  lub  -  w trybie szybkiego pingowania - wcale. Jedynie użytkownik z
              uprawnieniami administratora może ustawić interwał mniejszy niż 0.2 sekundy.

       -I interfejs
              Interfejs może być adresem lub nazwą  interfejsu.  Jeśli  interfejs  jest  adresem,
              ustawia  się  w  ten  sposób  adres  źródłowy  określonego adresu interfejsu. Jeśli
              interfejs jest nazwą interfejsu, ustawia interfejs źródłowy na podany interfejs.  W
              przypadku  polecenia  ping6,  przy wykonywaniu pinga do adresu lokalnego dla łącza,
              wymagane jest określenie łącza (notacją "%" w celu lub tą opcją).

       -L liczba-pakietów
              Jeśli podana jest liczba-pakietów, ping  wysyła  tyle  pakietów,  nie  czekając  na
              odpowiedź,  po  czym  przechodzi  do normalnego trybu działania. Tylko użytkownik z
              uprawnieniami administratora może wybrać więcej niż 3 pakiety.

       -L     Uniemożliwia  powracanie  zapętlonych  pakietów  rozgłoszeniowych.  Opcja   ta   ma
              znaczenie jedynie gdy adresem docelowym jest adres rozgłoszeniowy.

       -m znacznik
              Używa  znacznika  do  oznaczenia  wychodzących  pakietów. Jest to przydatne w wielu
              przypadkach dotyczących jądra, takich jak używanie  zasad  trasowania  do  wybrania
              określonego przetwarzania danych wychodzących.

       -M opcje-pmtudisc
              Wybiera strategię Path MTU Discovery (badania MTU ścieżki). opcja-pmtudisc może być
              jedną z następujących: do (zapobiega fragmentacji, nawet lokalnej), want  (wykonuje
              badanie  MTU  ścieżki,  następuje  lokalna  fragmentacja  gdy  rozmiary pakietów są
              znaczne) lub dont (nie ustawia flagi DF).

       -N opcje-nodeinfo
              Tylko polecenie ping6. Wysyła ICMPv6 Node Information  Queries  (RFC4620),  zamiast
              Echo Request.

              help   Pokazuje pomoc do obsługi NI.

              name   Zapytania nazw węzłów.

              ipv6   Zapytania adresów IPv6. Istnieje kilka flag dotyczących wyłącznie IPv6.

                     ipv6-global
                            Żądania adresów globalnych IPv6.

                     ipv6-sitelocal
                            Żądania adresów lokalnych IPv6.

                     ipv6-linklocal
                            Żądania adresów lokalnych dla łącza IPv6.

                     ipv6-all
                            Żądanie adresów IPv6 na innych interfejsach.

              ipv4   Żądanie adresów IPv4. Istnieje jedna flaga dotycząca wyłącznie IPv4.

                     ipv4-all
                            Żądanie adresów IPv4 na innych interfejsach.

              subject-ipv6=adres-ipv6
                     Przedmiotowy adres IPv6.

              subject-ipv4=adres-ipv4
                     Przedmiotowy adres IPv4.

              subject-name=nazwa-węzła
                     Przedmiotowa  nazwa.  Jeśli  zawiera więcej niż jedną kropkę, zakłada się że
                     jest to pełna, jednoznaczna nazwa domenowa (FQDN).

              subject-fqdn=nazwa-węzła
                     Przedmiotowa nazwa. Zawsze zakłada się że jest to pełna, jednoznaczna  nazwa
                     domenowa (FQDN).

       -n     Tylko  wyjście  numeryczne. Nie będą dokonywane próby odczytania nazw symbolicznych
              adresów hostów.

       -O     Zgłasza bieżącą odpowiedź ICMP ECHO przed wysyłaniem następnego  pakietu.  Jest  to
              przydatne  razem  ze  znacznikiem  czasu -D do zapisywania wyniku programu do pliku
              diagnostycznego w celu wyszukania brakujących odpowiedzi.

       -p etykieta
              Można podać do 16 bajtów "wypełnienia" wysyłanego pakietu.  Jest  to  przydatne  do
              diagnozowania w sieci problemów związanych z danymi.  Np. -p ff spowoduje wysyłanie
              pakietu wypełnionego jedynkami.

       -q     Ciche  wyjście.  Poza  wierszami  podsumowania  na  starcie/końcu  nic   nie   jest
              wyświetlane.

       -Q tos Ustawia  bity  związane  z funkcją Quality of Service (jakość usługi). tos może być
              liczbą dziesiętną (tylko ping) lub szesnastkową.

              W RFC2474, pola te są interpretowane jako ośmiobitowe Differentiated Service  (DS),
              składające  się  z  :  bitów  0-1  (2 najniższe bity) oddzielnych danych i bity 2-7
              (najwyższe 6 bitów) Differentiated Services Codepoint (DSCP). W RFC2481  i  RFC3168
              bity 0-1 są używane do ECN.

              Historycznie  (RFC1349, zastąpione przez RFC2474) były one interpretowane jako: bit
              0 (najniższy) - zarezerwowany (obecnie: kontrola ograniczenia przesyłu),  1-4  jako
              Type   of   Service   (typ   usługi),   a  bity  5-7  (najwyższe)  jako  Precedence
              (pierwszeństwo).

       -r     Pomija normalne  tabele  trasowania  i  wysyła  pakiety  bezpośrednio  do  hosta  w
              przyłączonej  sieci. Jeśli host nie jest w sieci podłączonej bezpośrednio, zwracany
              jest błąd. Opcja  ta  może  być  używana  do  pingowania  hosta  lokalnego  poprzez
              interfejs, przez który nie ma trasy, o ile użyto również opcji -I.

       -R     Tylko   program   ping.  Nagrywa  trasę.  Zawiera  w  pakiecie  ECHO_REQUEST  opcję
              RECORD_ROUTE i wyświetla bufor trasy  zwróconych  pakietów.   Proszę  zauważyć,  że
              nagłówek  IP  wystarcza jedynie na 9 takich tras. Wiele hostów ignoruje lub zarzuca
              tę opcję.

       -s rozmiar-pakietu
              Określa liczbę wysyłanych bajtów danych. Domyślną wartością jest  56,  co  tłumaczy
              się na 64 bajty ICMP po połączeniu z 8 bajtami nagłówka ICMP.

       -S sndbuf
              Ustawia  sndbuf gniazda. Jeśli nie określono dokładniej, buforowany jest nie więcej
              niż jeden pakiet.

       -t ttl Tylko ping. Ustawia TTL (IP Time to Live).

       -T opcje znacznika-czasu
              Ustawia specjalne opcje znacznika czasu  IP.  opcje  znacznika-czasu  mogą  przyjąć
              jedną   z   następujących  wartości:  tsonly  (tylko  znaczniki  czasu),  tsandaddr
              (znaczniki czasu i adresy) lub tsprespec host1 [host2  [host3  [host4]]]  (wstępnie
              określone przeskoki znacznika czasu).

       -U     Wypisuje  pełne  opóźnienie użytkownik-użytkownik (stare zachowanie). ping wypisuje
              zwykle czas podróży pakietu w sieci, który może się różnić np. ze względu na  błędy
              DNS.

       -v     Tryb szczegółowy

       -V     Wyświetla informacje o wersji i kończy działanie.

       -w limit
              Określa  czas  (w  sekundach)  po  jakim  ping zakończy pracę niezależnie od liczby
              wysłanych czy odebranych pakietów. W takim przypadku ping nie wychodzi  po  liczbie
              wysłanych  pakietów  -  czeka  albo  na  minięcie limitu albo na liczbę otrzymanych
              odpowiedzi lub też na jakiś sygnał o błędzie z sieci.

       -W czas-oczekiwania
              Czas oczekiwania na odpowiedź, w sekundach.  Opcja  ta  wpływa  wyłącznie  na  czas
              oczekiwania  w  razie braku jakiejkolwiek odpowiedzi, w przeciwnym razie ping czeka
              na dwa RTT.

       Przy używaniu pinga do izolowania błędów,  należy  go  najpierw  uruchomić  na  komputerze
       lokalnym,  by  sprawdzić  czy lokalny interfejs sieciowy jest włączony i czy działa. Potem
       należy pingować coraz to dalsze hosty i bramki.  Obliczane są czasy podróży  i  statystyki
       utraty  pakietów. Jeśli odbierane są pakiety zduplikowane, nie są one włączane do obliczeń
       strat   pakietów,    choć    ich    czas    podróży    jest    używany    do    obliczania
       minimalnego/średniego/maksymalnego  czasu  podróży.  Po  nadaniu  (i odebraniu) określonej
       liczby pakietów, lub po  zakończeniu  programu  przez  SIGINT,  wyświetlane  jest  krótkie
       podsumowanie.  Krótsze  statystyki bieżące można uzyskać bez przerywania procesu za pomocą
       sygnału SIGQUIT.

       Jeśli ping nie otrzyma w ogóle pakietów odpowiedzi zakończy się z kodem  1.  Jeśli  podano
       liczbę  pakietów  oraz  limit  i  są  one  mniejsze  niż  liczba  pakietów  otrzymanych po
       osiągnięciu limitu kodem zakończenia również będzie 1. W przypadku  innego  błędu  program
       wychodzi  z  kodem  2.  W  przeciwnym  wypadku kończy się z kodem 0. W ten sposób można na
       podstawie kodu zakończenia sprawdzić czy host odpowiada, czy też nie.

       Program ten jest przeznaczony do testowania  sieci,  pomiarów  i  zarządzania.   Z  powodu
       obciążenia,  jakie  może  wywołać w sieci, niemądre jest używanie pinga podczas normalnych
       operacji z zautomatyzowanych skryptów.

SZCZEGÓŁY PAKIETU ICMP

       Nagłówek IP bez opcji ma 20 bajtów.  Pakiet ICMP ECHO_REQUEST zawiera dodatkowych 8 bajtów
       nagłówka   ICMP,   za   którymi   następuje  określona  ilość  danych.   Gdy  podany  jest
       rozmiar-pakietu, to określa on rozmiar dodatkowego bloków danych (domyślnie 56). Tak  więc
       ilość  danych  znajdujących  się  wewnątrz  pakietu  IP typu ICMP ECHO_REPLY jest zawsze 8
       bajtów większa niż żądana ilość danych (nagłówek ICMP).

       Jeśli rozmiar danych ma wielkość przynajmniej struktury timeval ping  używa  pierwszych  8
       bajtów  do  włączania znacznika czasowego, którego używa do obliczeń czasów podróży. Jeśli
       podano mniej niż 8 bajtów wypełnienia, nie są podawane czasy podróży.

ZDUPLIKOWANE I USZKODZONE PAKIETY

       Program ping zgłasza pakiety uszkodzone i zduplikowane.  Pakiety  zduplikowane  nigdy  nie
       powinny  się  pojawiać  i  prawdopodobnie  są  powodowane przez nieprawidłowe retransmisje
       poziomu połączenia (link-level). Mogą się one pojawiać w  wielu  sytuacjach  i  rzadko  są
       dobrym  znakiem,  choć  obecność  niskiej  liczby  duplikatów  nie musi być zawsze powodem
       alarmu.

       Pakiety uszkodzone są oczywiście poważną przyczyną alarmu i często wskazują na uszkodzenie
       sprzętu na drodze pakietu ping (w sieci lub w komputerze).

UŻYWANIE RÓŻNYCH WZORCÓW DANYCH

       Poziom (inter)sieci nigdy nie powinien traktować pakietów odmiennie w zależności od danych
       zawartych w części danych. Niestety problemy zależne od  danych  czasem  pojawiają  się  w
       sieciach  i pozostają długo niezauważane. W wielu przypadkach konkretny wzorzec powodujący
       problemy jest czymś, co  nie  posiada  wystarczającej  liczby  "zmian",  np.  jest  samymi
       jedynkami  lub  samymi  zerami,  lub  wzorcem  na samym krańcu, prawie wypełnionym zerami.
       Niekoniecznie jednak musi wystarczyć podanie wzorca z samymi  zerami  w  wierszu  poleceń,
       gdyż  interesujący wzorzec jest na poziomie połączenia i związek między tym co się wpisze,
       a tym co transmituje kontroler może być złożony.

       Znaczy to, że jeśli występuje problem zależny od  danych,  to  będzie  to  wymagało  wielu
       testów  do  jego  izolacji. Jeśli ma się szczęście, można znaleźć plik, który nie może być
       przesłany przez sieć lub który wymaga dużo więcej czasu do przesłania  niż  inne  podobnej
       długości  pliki.  Można  następnie  taki  plik  przetestować  w poszukiwaniu powtarzalnych
       wzorców z użyciem opcji -p programu ping

SZCZEGÓŁY TTL

       Wartość TTL pakietu IP reprezentuje maksymalną liczbę routerów IP, którą pakiet może minąć
       nim  zostanie  wyrzucony.  W obecnej sytuacji, można oczekiwać że każdy router internetowy
       obniży wartość TTL o jeden.

       Specyfikacja TCP/IP określa, że pole TTL pakietu TCP powinno być  ustawiane  na  60,  lecz
       wiele systemów używa mniejszych wartości (4.3 BSD używa 30, 4.2 używało 15).

       Maksymalna  możliwa  wartość  tego  pola  to  255  i większość systemów uniksowych ustawia
       wartość TTL pakietów ICMP ECHO_REQUEST na 255. Oto dlaczego da się pingować  pewne  hosty,
       lecz nie można ich osiągnąć poprzez telnet(1) czy ftp(1).

       W  normalnym działaniu, ping wypisuje wartości TTL odbieranych pakietów. Gdy system zdalny
       otrzymuje pakiet ping, może on zrobić jedną z trzech rzeczy z polem TTL:

       • Nie zmienić go; jest to właściwość systemów Berkeley Unix przed wydaniem 4.3BSD Tahoe. W
         tym  wypadku wartość TTL odebranego pakietu wyniesie 255 minus liczba routerów na trasie
         podróży.

       • Ustawić ją na 255: jest to właściwość obecnego Berkeley Unix. W tym wypadku wartość  TTL
         odebranego  pakietu  wyniesie 255 minus liczbę routerów na trasie od systemu zdalnego do
         hosta pingującego.

       • Ustawić na inną wartość. Niektóre komputery używają dla pakietów ICMP tej samej wartości
         co  dla  pakietów  TCP,  np. 30 lub 60. Inne mogą używać jeszcze bardziej abstrakcyjnych
         wartości.

BŁĘDY

       • Wiele hostów i bram ignoruje opcję RECORD_ROUTE.

       • Maksymalna długość nagłówka IP jest  zbyt  mała  dla  całkowitej  użyteczności  opcji  w
         rodzaju RECORD_ROUTE. Jednak nie można z tym praktycznie nic zrobić.

       • Szybkie  pingowanie  nie  jest  ogólnie  zalecanie,  a w szczególności pingowanie adresu
         rozgłoszeniowego powinno być wykonywane w ściśle kontrolowanych warunkach.

ZOBACZ TAKŻE

       netstat(1), ifconfig(8).

HISTORIA

       Komenda ping pojawiła się w 4.3BSD.

       Niniejsza wersja jest jej następcą charakterystycznym dla Linuksa.

BEZPIECZEŃSTWO

       ping do wykonania wymaga przywileju CAP_NET_RAW. Może być używany jako set-uid root.

DOSTĘPNOŚĆ

       ping  jest  częścią  pakietu  iputils.   Źródła   najnowszej   wersji   można   pobrać   z
       http://www.skbuff.net/iputils/iputils-current.tar.bz2.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM)
       <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie  http://sourceforge.net/projects/manpages-pl/.  Jest  zgodne  z  wersją   20121221
       oryginału.