.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" This file is distributed under the same license as original manpage .\" Copyright of the original manpage: .\" Copyright © Alexey Kuznetsov (GPL-2+) .\" Copyright © of Polish translation: .\" Przemek Borys (PTM) , 2000. .\" Michał Kułach , 2013, 2014. .TH PING 8 "18 czerwca 2014" iputils\-121221 "Podręcznik administratora systemu: iputils" .SH NAZWA ping, ping6 \- wysyła pakiety ICMP ECHO_REQUEST do hostów sieciowych .SH SKŁADNIA \fBping\fP [\fB\-aAbBdDfhLnOqrRUvV\fP] [\fB\-c \fP\fIliczba\fP] [\fB\-F \fP\fIetykieta\-przepływu\fP] [\fB\-i \fP\fIinterwał\fP] [\fB\-I \fP\fIinterfejs\fP] [\fB\-l \fP\fIliczba\-pakietów\fP] [\fB\-m \fP\fIznacznik\fP] [\fB\-M \fP\fIopcja\-pmtudisc\fP] [\fB\-N \fP\fIopcja\-nodeinfo\fP] [\fB\-w \fP\fIlimit\fP] [\fB\-W \fP\fIoczekiwanie\fP] [\fB\-p \fP\fIwzorzec\fP] [\fB\-Q \fP\fItos\fP] [\fB\-s \fP\fIrozmiar\-pakietu\fP] [\fB\-S \fP\fIsndbuf\fP] [\fB\-t \fP\fIttl\fP] [\fB\-T \fP\fIopcja\-znacznika\-czasu\fP] [\fIprzeskok\fP\fI ...\fP] \fIcel\fP .SH OPIS .PP Program \fBping\fP 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. .PP \fBping6\fP jest wersją \fBping\fP zgodną z IPv6, która może wysyłać również Node Information Queries (RFC4620). Niedozwolone mogą być \fIprzeskoki\fP, ponieważ trasowanie źródeł IPv6 zostało oznaczone jako przestarzałe (RFC5095). .SH OPCJE .TP \fB\-a\fP Ping dźwiękowy. .TP \fB\-A\fP 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 \fIliczbę\-pakietów\fP). Minimalny interwał wynosi 200 milisekund dla użytkownika bez uprawnień administratora. W przypadku sieci z niskim rtt jest to de facto odpowiednik szybkiego pingowania. .TP \fB\-b\fP Pozwala na wysyłanie pingów na adresy rozgłoszeniowe. .TP \fB\-B\fP Nie pozwala programowi \fBping\fP zmieniać źródłowego adresu wysyłanych pakietów. Adres jest przypisywany do wyboru dokonanego przy starcie programu. .TP \fB\-c \fP\fIliczba\fP Kończy po wysłaniu \fIliczby\fP pakietów ECHO_REQUEST. Z podanym \fBlimitem\fP program \fBping\fP czeka na \fIliczbę\fP pakietów ECHO_RESPONSE, aż do czasu upłynięcia \fIlimitu\fP. .TP \fB\-d\fP Ustawia opcję SO_DEBUG na używanym gnieździe. Ta opcja gniazda nie jest używana przez jądro Linux. .TP \fB\-D\fP Wypisuje znacznik czasowy (w czasie uniksa + mikrosekundy jak w gettimeofday) przed każdym wierszem. .TP \fB\-f\fP 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. .TP \fB\-F \fP\fIetykieta przepływu\fP Tylko \fBping6\fP. 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. .TP \fB\-h\fP Wyświetla pomoc. .TP \fB\-i \fP\fIinterwał\fP Czeka \fIinterwał\fP 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. .TP \fB\-I \fP\fIinterfejs\fP \fIInterfejs\fP może być adresem lub nazwą interfejsu. Jeśli \fIinterfejs\fP jest adresem, ustawia się w ten sposób adres źródłowy określonego adresu interfejsu. Jeśli \fIinterfejs\fP jest nazwą interfejsu, ustawia interfejs źródłowy na podany interfejs. W przypadku polecenia \fBping6\fP, przy wykonywaniu pinga do adresu lokalnego dla łącza, wymagane jest określenie łącza (notacją "%" w \fIcelu\fP lub tą opcją). .TP \fB\-L \fP\fIliczba\-pakietów\fP Jeśli podana jest \fIliczba\-pakietów\fP, \fBping\fP 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. .TP \fB\-L\fP Uniemożliwia powracanie zapętlonych pakietów rozgłoszeniowych. Opcja ta ma znaczenie jedynie gdy adresem docelowym jest adres rozgłoszeniowy. .TP \fB\-m \fP\fIznacznik\fP Używa \fIznacznika\fP 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. .TP \fB\-M \fP\fIopcje\-pmtudisc\fP Wybiera strategię Path MTU Discovery (badania MTU ścieżki). \fIopcja\-pmtudisc\fP może być jedną z następujących: \fBdo\fP (zapobiega fragmentacji, nawet lokalnej), \fBwant\fP (wykonuje badanie MTU ścieżki, następuje lokalna fragmentacja gdy rozmiary pakietów są znaczne) lub \fBdont\fP (nie ustawia flagi DF). .TP \fB\-N \fP\fIopcje\-nodeinfo\fP Tylko polecenie \fBping6\fP. Wysyła ICMPv6 Node Information Queries (RFC4620), zamiast Echo Request. .RS .TP \fBhelp\fP Pokazuje pomoc do obsługi NI. .RE .RS .TP \fBname\fP Zapytania nazw węzłów. .RE .RS .TP \fBipv6\fP Zapytania adresów IPv6. Istnieje kilka flag dotyczących wyłącznie IPv6. .RS .TP \fBipv6\-global\fP Żądania adresów globalnych IPv6. .RE .RS .TP \fBipv6\-sitelocal\fP Żądania adresów lokalnych IPv6. .RE .RS .TP \fBipv6\-linklocal\fP Żądania adresów lokalnych dla łącza IPv6. .RE .RS .TP \fBipv6\-all\fP Żądanie adresów IPv6 na innych interfejsach. .RE .RE .RS .TP \fBipv4\fP Żądanie adresów IPv4. Istnieje jedna flaga dotycząca wyłącznie IPv4. .RS .TP \fBipv4\-all\fP Żądanie adresów IPv4 na innych interfejsach. .RE .RE .RS .TP \fBsubject\-ipv6=\fP\fIadres\-ipv6\fP Przedmiotowy adres IPv6. .RE .RS .TP \fBsubject\-ipv4=\fP\fIadres\-ipv4\fP Przedmiotowy adres IPv4. .RE .RS .TP \fBsubject\-name=\fP\fInazwa\-węzła\fP Przedmiotowa nazwa. Jeśli zawiera więcej niż jedną kropkę, zakłada się że jest to pełna, jednoznaczna nazwa domenowa (FQDN). .RE .RS .TP \fBsubject\-fqdn=\fP\fInazwa\-węzła\fP Przedmiotowa nazwa. Zawsze zakłada się że jest to pełna, jednoznaczna nazwa domenowa (FQDN). .RE .TP \fB\-n\fP Tylko wyjście numeryczne. Nie będą dokonywane próby odczytania nazw symbolicznych adresów hostów. .TP \fB\-O\fP Zgłasza bieżącą odpowiedź ICMP ECHO przed wysyłaniem następnego pakietu. Jest to przydatne razem ze znacznikiem czasu \fB\-D\fP do zapisywania wyniku programu do pliku diagnostycznego w celu wyszukania brakujących odpowiedzi. .TP \fB\-p\fP \fIetykieta\fP 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. \fB\-p ff\fP spowoduje wysyłanie pakietu wypełnionego jedynkami. .TP \fB\-q\fP Ciche wyjście. Poza wierszami podsumowania na starcie/końcu nic nie jest wyświetlane. .TP \fB\-Q \fP\fItos\fP Ustawia bity związane z funkcją Quality of Service (jakość usługi). \fItos\fP może być liczbą dziesiętną (tylko \fBping\fP) 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). .TP \fB\-r\fP 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 \fB\-I\fP. .TP \fB\-R\fP Tylko program \fBping\fP. 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ę. .TP \fB\-s\fP \fIrozmiar\-pakietu\fP 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. .TP \fB\-S \fP\fIsndbuf\fP Ustawia sndbuf gniazda. Jeśli nie określono dokładniej, buforowany jest nie więcej niż jeden pakiet. .TP \fB\-t \fP\fIttl\fP Tylko \fBping\fP. Ustawia TTL (IP Time to Live). .TP \fB\-T \fP\fIopcje znacznika\-czasu\fP Ustawia specjalne opcje znacznika czasu IP. \fIopcje znacznika\-czasu\fP mogą przyjąć jedną z następujących wartości: \fBtsonly\fP (tylko znaczniki czasu), \fBtsandaddr\fP (znaczniki czasu i adresy) lub \fBtsprespec\fP \fIhost1\fP [\fIhost2\fP [\fIhost3\fP [\fIhost4\fP]]] (wstępnie określone przeskoki znacznika czasu). .TP \fB\-U\fP Wypisuje pełne opóźnienie użytkownik\-użytkownik (stare zachowanie). \fBping\fP wypisuje zwykle czas podróży pakietu w sieci, który może się różnić np. ze względu na błędy DNS. .TP \fB\-v\fP Tryb szczegółowy .TP \fB\-V\fP Wyświetla informacje o wersji i kończy działanie. .TP \fB\-w \fP\fIlimit\fP Określa czas (w sekundach) po jakim \fBping\fP zakończy pracę niezależnie od liczby wysłanych czy odebranych pakietów. W takim przypadku \fBping\fP nie wychodzi po \fIliczbie\fP wysłanych pakietów \- czeka albo na minięcie \fIlimitu\fP albo na \fIliczbę\fP otrzymanych odpowiedzi lub też na jakiś sygnał o błędzie z sieci. .TP \fB\-W \fP\fIczas\-oczekiwania\fP Czas oczekiwania na odpowiedź, w sekundach. Opcja ta wpływa wyłącznie na czas oczekiwania w razie braku jakiejkolwiek odpowiedzi, w przeciwnym razie \fBping\fP czeka na dwa RTT. .PP Przy używaniu \fBping\fPa 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. .PP Jeśli \fBping\fP nie otrzyma w ogóle pakietów odpowiedzi zakończy się z kodem \fB1\fP. Jeśli podano \fIliczbę\fP pakietów oraz \fIlimit\fP i są one mniejsze niż \fIliczba\fP pakietów otrzymanych po osiągnięciu \fIlimitu\fP kodem zakończenia również będzie \fB1\fP. W przypadku innego błędu program wychodzi z kodem \fB2\fP. W przeciwnym wypadku kończy się z kodem \fB0\fP. W ten sposób można na podstawie kodu zakończenia sprawdzić czy host odpowiada, czy też nie. .PP 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. .SH "SZCZEGÓŁY PAKIETU ICMP" .PP 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 \fIrozmiar\-pakietu\fP, 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). .PP Jeśli rozmiar danych ma wielkość przynajmniej struktury timeval \fBping\fP 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. .SH "ZDUPLIKOWANE I USZKODZONE PAKIETY" .PP Program \fBping\fP 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. .PP Pakiety uszkodzone są oczywiście poważną przyczyną alarmu i często wskazują na uszkodzenie sprzętu na drodze pakietu \fBping\fP (w sieci lub w komputerze). .SH "UŻYWANIE RÓŻNYCH WZORCÓW DANYCH" .PP 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. .PP 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 \fB\-p\fP programu \fBping\fP .SH "SZCZEGÓŁY TTL" .PP 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. .PP 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). .PP 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 \fBtelnet\fP(1) czy \fBftp\fP(1). .PP 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: .TP 0.2i \(bu 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. .TP 0.2i \(bu 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 \fIod\fP systemu zdalnego \fIdo\fP hosta pingującego. .TP 0.2i \(bu 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. .SH BŁĘDY .TP 0.2i \(bu Wiele hostów i bram ignoruje opcję RECORD_ROUTE. .TP 0.2i \(bu 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ć. .TP 0.2i \(bu Szybkie pingowanie nie jest ogólnie zalecanie, a w szczególności pingowanie adresu rozgłoszeniowego powinno być wykonywane w ściśle kontrolowanych warunkach. .SH "ZOBACZ TAKŻE" .PP \fBnetstat\fP(1), \fBifconfig\fP(8). .SH HISTORIA .PP Komenda \fBping\fP pojawiła się w 4.3BSD. .PP Niniejsza wersja jest jej następcą charakterystycznym dla Linuksa. .SH BEZPIECZEŃSTWO .PP \fBping\fP do wykonania wymaga przywileju CAP_NET_RAW. Może być używany jako set\-uid root. .SH DOSTĘPNOŚĆ .PP \fBping\fP jest częścią pakietu \fBiputils\fP. Źródła najnowszej wersji można pobrać z http://www.skbuff.net/iputils/iputils\-current.tar.bz2. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) i Michał Kułach . .PP 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ą \fB 20121221 \fPoryginału.