Provided by: manpages-pl_20051117-1_all bug

NAZWA

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

SKŁADNIA

     ping [-dfnqrvR] [-c liczba] [-i oczekiwanie] [-l preload] [-p wzorzec]
     [-s rozmiarpakietu]

     Opcje zmienione:
         -I <nazwa urządzenia> może zostać wykorzystane do
            ustawienia interfejsu wyjściowego.

     Nowe opcje:
        -T [tylko ping]:  opcja wysłania pieczątki czasowej IP.
              -T tsonly       --- tylko pieczątki czasowe
              -T tsandaddr    --- pieczątki i adresy
              -T tsprespec host1 [host2 [host3 [host 4]]]
                              --- przejścia pieczątek czasowych

     Udoskonalenia:
       - rozumie komunikaty błędów icmp i prawidłowo na nie odpowiada.
       - sprawdza sumę icmp i reaguje prawidłowo na uszkodzone pakiety.
       - potrafi prawidłowo pingować loopback linuksowy.
         itd.

OPIS

     Ping używa obowiązkowego datagramu ICMP o nazwie ECHO_REQUEST,
     wywołującego ICMP ECHO_RESPONSE od hosta lub bramki.  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.  Opcje są następujące:
     Inne opcje to:

     -c liczba
             Zakończ po wysłaniu (i odebraniu) liczba pakietów ECHO_RESPONSE

     -d      Ustaw na używanym gnieździe opcję SO_DEBUG

     -f      Produkuje pakiety tak szybko, jak powracają, lub 100 razy na
             sekundę, zależnie od tego, czego jest więcej.  Dla każdego
             wysłanego ECHO_REQUEST drukowana jest kropka ``.'', a dla każdego
             odebranego ECHO_REPLY drukowane jest backspace.  Daje to
             dynamiczny obraz zmian ilości opuszczonych pakietów. Opcji tej
             może używać jedynie superużytkownik.  Moe to by bardzo cikie
             w sieci i powinno by uywane ostronie.

     -i oczekiwanie
             Czekaj oczekiwanie sekund midzy wysaniem kolejnych pakietw.
             Domyślnie czeka się jedną sekundę. Opcja ta jest niekompatybilna
             z opcją -f

     -l preload
             Jeśli podany jest preload, ping jak najszybciej wysyła tyle
             pakietów, po czym przechodzi do normalnego trybu działania.
             Opcji tej używać może jedynie superużytkownik.

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

     -p wzorzec
             Możesz 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 liniami podsumowania na starcie/końcu nic
             nie jest wyświetlane.

     -R      Nagrywaj trasę.  Zawiera w pakiecie ECHO_REQUEST opcję
             RECORD_ROUTE i wyświetla bufor trasy zwróconych pakietów.
             Zauważ, że nagłówek IP wystarcza jedynie na 9 takich tras. Wiele
             hostów ignoruje lub zarzuca tę opcję.

     -r      Pomiń normalne tabele trasowania i wysyłaj 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 (np. po jego porzuceniu przez routed(8)).

     -s rozmiarpakietu
             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.

     -v      Wyjście gadatliwe. Odbierane pakiety ICMP inne niż ECHO_RESPONSE
             są listowane.

     Przy używaniu pinga do izolowania błędów, należy go najpierw zapuścić na
     hoście 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.

     Jeśli ping nie odbierze żadnych pakietów odpowiedzi, to zakończy
     działanie z kodem wyjścia 1. W przypadku błędu kod ten wynosi 2. W
     przeciwnym razie zwracane jest 0. Umożliwia to używanie kodu wyjścia do
     sprawdzania czy hosty żyją, czy gryzą ziemię.

     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 ze 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 rozmiarpakietu, 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 8 bajtów, to ping używa
     pierwszych 8 bajtów do włączania pieczątki czasowej, której 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

     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 pinga.

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 linii poleceń, gdyż interesujący wzorzec jest na
     poziomie połączenia i związek między tym co wpiszesz i tym co transmituje
     kontroler może być złożony.

     Znaczy to, że jeśli masz problem zależny od danych, to będziesz
     potrzebować wielu testów do jego izolacji. Jeśli masz szczęście, to może
     znajdziesz 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żesz
     następnie taki plik przetestować w poszukiwaniu powtarzalnych wzorców z
     użyciem opcji -p pinga.

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 zdekrementuje 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
     Unixowych ustawia wartość TTL pakietów ICMP ECHO_REQUEST na 255.  Oto
     dlaczego możesz pingować pewne hosty, lecz nie możesz ich osiągnąć
     poprzez telnet(1) czy ftp(1).

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

     +o   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.

     +o   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 pingujcego.

     +o   Ustawić na inną wartość. Niektóre maszyny używają dla pakietów ICMP
         tej samej wartości co dla pakietów TCP, np. 30 lub 60. Inni mogą
         używać jeszcze bardziej dzikich 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 (flood pinging) nie jest ogólnie zalecanie, a w
     szczególności pingowanie adresu rozgłoszeniowego.

ZOBACZ TAKŻE

     netstat(1), ifconfig(8)

HISTORIA

     Komenda ping pojawiła się w 4.3BSD.