.\" -*- coding: UTF-8 -*-
'\" t
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH PING 8 "" "iputils 20240905" iputils
.ie  \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH NAZWA
ping \- wysyła pakiety ICMP ECHO_REQUEST do stacji sieciowych
.SH SKŁADNIA
.HP \w'\fBping\fR\ 'u
\fBping\fP [\fB\-aAbBdCDfhHLnOqrRUvV346\fP] [\fB\-c\ \fP\fIliczba\fP] [\fB\-e\ \fP\fIidentyfikator\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\fIczas\-oczekiwania\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] [hop\&.\&.\&.] {cel}
.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 stacji lub bramy
sieciowej. Datagramy ECHO_REQUEST (\[Bq]pingi\[rq]) 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
\fBping\fP działa z IPv4 oraz IPv6\&. Można wymusić używanie jednego z nich
opcją \fB\-4\fP lub \fB\-6\fP\&.
.PP
\fBping\fP może wysyłać również Node Information Queries (RFC4620)
IPv6\&. Niedozwolone mogą być \fIprzeskoki\fP, ponieważ trasowanie źródeł IPv6
zostało oznaczone jako przestarzałe (RFC5095).
.SH OPCJE
.PP
\fB\-3\fP
.RS 4
Precyzja RTT (bez zaokrąglania wynikowego czasu)\&.
.RE
.PP
\fB\-4\fP
.RS 4
Używa wyłącznie IPv4\&.
.RE
.PP
\fB\-6\fP
.RS 4
Używa wyłącznie IPv6\&.
.RE
.PP
\fB\-a\fP
.RS 4
Ping dźwiękowy\&.
.RE
.PP
\fB\-A\fP
.RS 4
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 2
milisekundy; więcej informacji w opisie opcji \fB\-i\fP\&. W przypadku sieci z
niskim RTT jest to de facto odpowiednik szybkiego pingowania\&.
.RE
.PP
\fB\-b\fP
.RS 4
Pozwala na wysyłanie pingów na adresy rozgłoszeniowe\&.
.RE
.PP
\fB\-B\fP
.RS 4
Nie pozwala programowi \fBping\fP zmieniać źródłowego adresu wysyłanych
pakietów\&. Adres jest przypisywany do wyboru dokonanego przy starcie
programu\&.
.RE
.PP
\fB\-c\fP \fIliczba\fP
.RS 4
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\&.
.RE
.PP
\fB\-C\fP
.RS 4
Wywołuje wywołanie systemowe connect() po utworzeniu gniazda\&.
.RE
.PP
\fB\-d\fP
.RS 4
Ustawia opcję SO_DEBUG na używanym gnieździe\&. Ta opcja gniazda nie jest
używana przez jądro Linux\&.
.RE
.PP
\fB\-D\fP
.RS 4
Wypisuje znacznik czasowy (w czasie uniksa + mikrosekundy jak w
gettimeofday) przed każdym wierszem\&.
.RE
.PP
\fB\-e\fP \fIidentyfikator\fP
.RS 4
Ustawia pole identyfikacyjne ECHO_REQUEST\&. Wartość 0 wymusza użycie
\fIsurowych gniazd\fP (nieobsługiwane w \fIgniazdach datagramowych ICMP\fP)\&. Wartość pola można wypisać przy użyciu opcji \fB\-v\fP\&.
.RE
.PP
\fB\-f\fP
.RS 4
Tryb szybkiego pingowania (\[Bq]zalania\[rq] pakietami). Dla każdego
wysłanego ECHO_REQUEST wypisywana jest kropka \[Bq].\[rq], 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.
.RE
.PP
\fB\-F\fP \fIetykieta\-przepływu\fP
.RS 4
Tylko IPv6\&. 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\&.
.RE
.PP
\fB\-h\fP
.RS 4
Wyświetla pomoc\&.
.RE
.PP
\fB\-H\fP
.RS 4
Wymusza translację nazw DNS dla wyjścia\&. Przydatne przy celach
numerycznych lub z opcją \fB\-f\fP, która domyślnie go nie przeprowadza\&. Może
również pomóc obejść problemy z translacją DNS\&. Przesłania ustawioną
wcześniej opcję \fB\-n\fP\&.
.RE
.PP
\fB\-i\fP \fIinterwał\fP
.RS 4
Czeka \fIinterwał\fP sekund pomiędzy wysłaniem kolejnych pakietów. Dozwolona
jest liczba rzeczywista, z kropką jako znakiem oddzielającym część
dziesiętną (niezależnie od ustawień językowych). 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 ms. Ping
grupowy (multicast) i rozgłoszeniowy (broadcast) ma jeszcze ściślejszy limit
dla zwykłego użytkownika: 1 sekunda.
.RE
.PP
\fB\-I\fP \fIinterfejs\fP
.RS 4
\fIInterfejs\fP może być adresem, nazwą interfejsu lub nazwą VRF (ang. Virtual
Routing and Forwarding). 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. Jeśli
\fIinterfejs\fP jest nazwą VRF, każdy pakiet jest trasowany za pomocą
odpowiadającej tabeli trasowania, w takim przypadku można podać opcję \fI\-I\fP
wielokrotnie, aby określić adres źródłowy. UWAGA: W przypadku IPv6, przy
wykonywaniu pinga do adresu segmentowego (ang. link\-local), można określić
łącza (notacją \[Bq]%\[rq] w \fIcelu\fP lub tą opcją), lecz nie jest to już
obecnie wymagane.
.RE
.PP
\fB\-L\fP \fIliczba\-pakietów\fP
.RS 4
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\&.
.RE
.PP
\fB\-L\fP
.RS 4
Uniemożliwia powracanie zapętlonych pakietów grupowych (multicast)\&. Opcja
ta ma znaczenie jedynie gdy adresem docelowym jest adres grupowy\&.
.RE
.PP
\fB\-m\fP \fIznacznik\fP
.RS 4
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\&. Wymagany jest
przywilej CAP_NET_ADMIN lub CAP_NET_RAW (od Linuksa 5\&.17),
zob. \fBsocket\fP(7)\&.
.RE
.PP
\fB\-M\fP \fIopcja\-pmtudisc\fP
.RS 4
Wybiera strategię Path MTU Discovery (badania MTU
ścieżki)\&. \fIopcja\-pmtudisc\fP może być jedną z następujących: \fBdo\fP (ustawia
flagę flagę DF, ale jest przedmiotem sprawdzeń PMTU jądra, zbyt duże pakiety
będą odmawiane), \fBwant\fP (wykonuje badanie MTU ścieżki, następuje lokalna
fragmentacja gdy rozmiary pakietów są znaczne) \fBprobe\fP (ustawia flagę DF i
pomija sprawdzenia PMTU, przydatne przy sondowaniu) lub \fBdont\fP (nie ustawia
flagi DF)\&.
.RE
.PP
\fB\-N\fP \fIopcja\-nodeinfo\fP
.RS 4
Tylko IPv6\&. Wysyła IPv6 Node Information Queries (RFC4620), zamiast Echo
Request. Wymagany jest przywilej (ang. capability) CAP_NET_RAW\&.
.PP
\fBhelp\fP
.RS 4
Pokazuje pomoc do obsługi NI\&.
.RE
.PP
\fBnazwa\fP
.RS 4
Zapytania nazw węzłów\&.
.RE
.PP
\fBipv6\fP
.RS 4
Zapytania adresów IPv6\&. Istnieje kilka flag dotyczących wyłącznie IPv6\&.
.PP
\fBipv6\-global\fP
.RS 4
Żądania adresów globalnych IPv6\&.
.RE
.PP
\fBipv6\-sitelocal\fP
.RS 4
Żądania adresów lokalnych IPv6\&.
.RE
.PP
\fBipv6\-linklocal\fP
.RS 4
Żądania adresów segmentowych dla łącza IPv6\&.
.RE
.PP
\fBipv6\-all\fP
.RS 4
Żądanie adresów IPv6 na innych interfejsach\&.
.RE
.RE
.PP
\fBipv4\fP
.RS 4
Żądanie adresów IPv4\&. Istnieje jedna flaga dotycząca wyłącznie IPv4\&.
.PP
\fBipv4\-all\fP
.RS 4
Żądanie adresów IPv4 na innych interfejsach\&.
.RE
.RE
.PP
\fBsubject\-ipv6=\fP\fIadres\-ipv6\fP
.RS 4
Przedmiotowy adres IPv6\&.
.RE
.PP
\fBsubject\-ipv4=\fP\fIadres\-ipv4\fP
.RS 4
Przedmiotowy adres IPv4\&.
.RE
.PP
\fBsubject\-name=\fP\fInazwa\-węzła\fP
.RS 4
Przedmiotowa nazwa\&. Jeśli zawiera więcej niż jedną kropkę, zakłada się że
jest to pełna, jednoznaczna nazwa domenowa (FQDN)\.
.RE
.PP
\fBsubject\-fqdn=\fP\fInazwa\-węzła\fP
.RS 4
Przedmiotowa nazwa\&. Zawsze zakłada się że jest to pełna, jednoznaczna
nazwa domenowa (FQDN)\&.
.RE
.RE
.PP
\fB\-n\fP
.RS 4
Tylko wyjście numeryczne\&. Nie będą dokonywane próby odczytania nazw
symbolicznych adresów stacji (brak odwrotnej translacji DNS)\&. Jest to
zachowanie domyślne dla celów numerycznych oraz z opcją \fB\-f\fP\&. Przesłania
zdefiniowaną wcześniej opcję \fB\-H\fP\&. Zob. również zmienna środowiskowa
\fIIPUTILS_PING_PTR_LOOKUP\fP\&.
.RE
.PP
\fB\-O\fP
.RS 4
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\&.
.RE
.PP
\fB\-p\fP \fIwzorzec\fP
.RS 4
Można podać do 16 bajtów \[Bq]wypełnienia\[rq] 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\&.
.RE
.PP
\fB\-q\fP
.RS 4
Ciche wyjście\&. Poza wierszami podsumowania na starcie/końcu nic nie jest
wyświetlane\&.
.RE
.PP
\fB\-Q\fP \fItos\fP
.RS 4
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ą\&.
.sp
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\&.
.sp
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)\&.
.RE
.PP
\fB\-r\fP
.RS 4
Pomija normalne tabele trasowania i wysyła pakiety bezpośrednio do stacji w
przyłączonej sieci\&. Jeśli stacja nie jest w sieci podłączonej
bezpośrednio, zwracany jest błąd\&. Opcja ta może być używana do pingowania
stacji lokalnej poprzez interfejs, przez który nie ma trasy, o ile użyto
również opcji \fB\-I\fP\&.
.RE
.PP
\fB\-R\fP
.RS 4
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 stacji
ignoruje lub zarzuca tę opcję\&.
.RE
.PP
\fB\-s\fP \fIrozmiar\-pakietu\fP
.RS 4
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\&. Maksymalna dopuszczalna wartość to 65507 w przypadku IPv4 (65467 z
opcją \fB\-R\fP lub \fB\-T\fP lub przy \fIprzeskokach\fP) albo 65527 w przypadku IPv6,
lecz większość systemów ogranicza ją do mniejszej wartości, zależnej od
systemu\&.
.RE
.PP
\fB\-S \fP\fIsndbuf\fP
.RS 4
Ustawia sndbuf (bufor wysyłania) gniazda\&. Jeśli nie określono dokładniej,
buforowany jest nie więcej niż jeden pakiet\&.
.RE
.PP
\fB\-t\fP \fIttl\fP
.RS 4
Tylko \fBping\fP\&. Ustawia TTL (IP Time to Live)\&.
.RE
.PP
\fB\-T\fP \fIopcja\-znacznika\-czasu\fP
.RS 4
Ustawia specjalne opcje znacznika czasu IP\&. \fIOpcja\-znacznika\-czasu\fP może
przyjąć jedną z następujących wartości: \fBtsonly\fP (tylko znaczniki czasu),
\fBtsandaddr\fP (znaczniki czasu i adresy) lub \fBtsprespec\fP \fIstacja1\fP
[\fIstacja2\fP [\fIstacja3\fP [\fIstacja4\fP]]] (wstępnie określone przeskoki
znacznika czasu)\&.
.RE
.PP
\fB\-U\fP
.RS 4
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\&.
.RE
.PP
\fB\-v\fP
.RS 4
Wyjście szczegółowe\&. Nie wstrzymuje odpowiedzi DUP przy pingowaniu adresów
grupowych (multicast)\&.
.RE
.PP
\fB\-V\fP
.RS 4
Wyświetla informacje o wersji i kończy działanie\&.
.RE
.PP
\fB\-w\fP \fIlimit\fP
.RS 4
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\&.
.RE
.PP
\fB\-W\fP \fIczas\-oczekiwania\fP
.RS 4
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\&. Dozwolona jest liczba rzeczywista, z kropką jako
znakiem oddzielającym część dziesiętną (niezależnie od ustawień
językowych)\&. 0 oznacza czas nieograniczony\&.
.RE
.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 \[Bq]pingować\[rq] coraz to dalsze
stacje 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\&.
.PP
Standardowe odchylenie populacji (mdev) to przeciętna wartość, o jaką każdy
ping RTT różni się od średniego RTT\&. Im wyższe jest mdev, tym bardziej
zmienne jest RTT (w czasie)\&. Przy dużej zmienności RTT będą występować
problemy szybkości przy dużych transferach (będą zajmowały więcej czasu, niż
jest to ściśle potrzebne, jako że zmienność doprowadzi w końcu do
konieczności oczekiwania przez wysyłającego na potwierdzenia) oraz jakość
rozmów VoIP będzie przeciętna do miernej\&.
.PP
Po wysłaniu (i otrzymaniu) podanej liczby pakietów lub po przerwaniu
programem SIGINT, wyświetlane jest zwięzłe podsumowanie\&. Można też
pozyskać bieżące statystyki z krótszego okresu, bez przerywania procesu,
sygnałem SIGQUIT\&.
.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 ŚRODOWISKO
Zmienna środowiskowa \fIIPUTILS_PING_PTR_LOOKUP\fP ustawiona na 0 domyślnie
wyłącza odwrotną translację DNS (wyszukiwanie PTR)\&. Przesłoni ją opcja
\fB\-H\fP lub \fB\-n\fP\&.  .SH "STATUS ZAKOŃCZENIA"
.PP
Jeśli \fBping\fP nie otrzyma w ogóle pakietów odpowiedzi zakończy się z kodem
1\&. 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 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 stacja odpowiada, czy też nie\&.
.SH "CELE ADRESÓW SEGMENTOWYCH IPV6"
.PP
Przy IPv6, gdy adresem docelowym jest adres segmentowy (ang. link\-local) i
\fBping\fP używa \fIgniazd datagramowych ICMP\fP, konieczne jest podanie
interfejsu wyjściowego\&. Gdy \fBping\fP używa \fIgniazd surowych\fP, nie jest
ściśle konieczne podanie interfejsu wyjściowego, ale powinno się to zrobić,
aby uniknąć wieloznaczności, gdy występuje wiele możliwych interfejsów
wyjściowych\&.
.PP
Istnieją dwa sposoby określenia interfejsu wyjściowego:
.PP
\(bu używając \fInotacji %\fP
.RS 4
Po adresie docelowym dołącza się \fI%\fP i nazwę interfejsu wyjściowego lub
indeks interfejsu (ifindex), przykładowo:
.sp
\fBping fe80::5054:ff:fe70:67bc%eth0\fP
.sp
\fBping fe80::5054:ff:fe70:67bc%2\fP
.RE
.PP
\(bu za pomocą \fIopcji \-I\fP
.RS 4
Stosując \fIgniazda datagramowe ICMP\fP, metoda ta jest obsługiwana od
następujących wersji jądra: 5\&.17, 5\&.15\&.19, 5\&.10\&.96, 5\&.4\&.176,
4\&.19\&.228, 4\&.14\&.265\&. Nie jest jednak obsługiwana w bilbiotece libc
musl\&.
.RE
.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 "KOLIZJE IDENTYFIKATORÓW"
.PP
W przeciwieństwie do TCP i UDP unikatowo identyfikujących odbiorcę do
dostarczenia danych, ICMP używa pola identyfikatora (ID) do celów
identyfikacji\&. Z tego względu, jeśli na tym samym komputerze, w tym samym
czasie, istnieją dwa procesy ping używające tego samego ID, odpowiedź echo
może trafić do niewłaściwego odbiorcy\&. To znany problem, ze względu na
ograniczony rozmiar 16\-bitowego pola ID\&. Jest to historyczne ograniczenie
protokołu, którego nie da się w tym momencie naprawić, chyba że ID zostałby
zakodowany we fragmencie payload pakietu ping\&. \fBping\fP wypisuje błąd
\fIDIFFERENT ADDRESS\fP i utrata pakietów jest ujemna\&.
.PP
\fBping\fP używa identyfikatora procesu (PID) do pozyskania unikatowego
numeru\&. Domyślną wartością \fI/proc/sys/kernel/pid_max\fP jest 32768\&. W
systemach intensywnie korzystających z programu ping, oraz przy \fIpid_max\fP
większym od 65535 kolizje są nieuniknione\&.
.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 \[Bq]zmian\[rq], 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
Pole TTL pakietu TCP może przyjąć różne wartości\&. Maksymalna możliwa
wartość tego pola wynosi 255, a zalecana początkowa: 64\&. Więcej informacji
znajduje się w rozdziale \[Bq]TCP/Lower\-Level Interface\[rq] w RFC9293\&.
.PP
W normalnym działaniu, \fBping\fP wypisuje wartości TTL odbieranych
pakietów\&. Gdy system zdalny otrzymuje pakiet ping, może on zrobić jedną z
trzech rzeczy z polem TTL:
.PP
.RS 4
\(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\&.
.RE
.PP
.RS 4
\(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 stacji pingującej\&.
.RE
.PP
.RS 4
\(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\&.
.RE
.SH USTERKI
.PP
.RS 4
\(bu Wiele stacji i bram ignoruje opcję RECORD_ROUTE\&.
.RE
.PP
.RS 4
\(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ć\&.
.RE
.PP
.RS 4
\(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\&.
.RE
.SH "ZOBACZ TAKŻE"
.PP
\fBip\fP(8), \fBss\fP(8)\&.
.SH HISTORIA
.PP
Komenda \fBping\fP pojawiła się w 4\&.3BSD\&.
.PP
Niniejsza wersja jest jej następcą charakterystycznym dla Linuksa\&.
.PP
Według stanu na wersję s20150815, plik binarny \fBping6\fP już nie
istnieje\&. Został złączony z \fBping\fP\&. Utworzenie dowiązania symbolicznego
nazwanego \fBping6\fP wskazującego na \fBping\fP zapewni tę samą funkcjonalność
jak wcześniej\&.
.SH BEZPIECZEŃSTWO
.PP
\fBping\fP wymaga do wykonania przywileju (ang. capability) CAP_NET_RAW 1)
jeśli program jest używany do zapytań innych niż echo (zob. opcję \fB\-N\fP) lub
jeśli pole identyfikacyjne ustawiono na 0 do ECHO_REQUEST (zob. \fB\-e\fP) albo
2) jeśli jądro nie obsługuje gniazd datagramowych IMMP albo 3) jeśli
użytkownik nie może tworzyć gniazda echo ICMP\&. Program może być używany z
ustawieniem ID roota podczas wykonania (suid)\&.
.SH DOSTĘPNOŚĆ
.PP
\fBping\fP jest częścią pakietu \fIiputils\fP\&.
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Przemek Borys <pborys@dione.ids.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
