- bookworm 1:4.18.1-1
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.24.0-2
PING(8) | iputils | PING(8) |
NAZWA¶
ping - wysyła pakiety ICMP ECHO_REQUEST do hostów sieciowych
SKŁADNIA¶
ping [-aAbBdCDefhLnOqrRUvV46] [-c liczba] [-F przepływu] [-i interwał] [-I interfejs] [-l liczba-pakietów] [-m cznik] [-M opcja-pmtudisc] [-N nodeinfo_option] [-w deadline] [-W timeout] [-p wzorzec] [-Q tos] [-s rozmiar-pakietu] [-S sndbuf] [-t ttl] [-T opcja-znacznika-czasu] [hop...] {cel}
OPIS¶
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (“pings”) have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of “pad” bytes used to fill out the packet.
ping works with both IPv4 and IPv6. Using only one of them explicitly can be enforced by specifying -4 or -6.
ping can also send IPv6 Node Information Queries (RFC4620). Intermediate hops may not be allowed, because IPv6 source routing was deprecated (RFC5095).
OPCJE¶
-4
-6
-a
-A
-b
-B
-c liczba
-C
-d
-e
-D
-f
-F etykieta przepływu
-h
-i interwał
-I interfejs
-L liczba-pakietów
-L
-m znacznik
-M opcje-pmtudisc
-N opcje-nodeinfo
help
name
ipv6
ipv6-global
ipv6-sitelocal
ipv6-linklocal
ipv6-all
ipv4
ipv4-all
subject-ipv6=adres-ipv6
subject-ipv4=adres-ipv4
subject-name=nazwa-węzła
subject-fqdn=nazwa-węzła
-n
-O
-p etykieta
-q
-Q tos
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
-R
-s rozmiar-pakietu
-S sndbuf
-t ttl
-T opcje znacznika-czasu
-U
-v
-V
-w limit
-W czas-oczekiwania
When using ping for fault isolation, it should first be run on the local host, to verify that the local network interface is up and running. Then, hosts and gateways further and further away should be “pinged”. Round-trip times and packet loss statistics are computed. If duplicate packets are received, they are not included in the packet loss calculation, although the round trip time of these packets is used in calculating the minimum/average/maximum/mdev round-trip time numbers.
Population standard deviation (mdev), essentially an average of how far each ping RTT is from the mean RTT. The higher mdev is, the more variable the RTT is (over time). With a high RTT variability, you will have speed issues with bulk transfers (they will take longer than is strictly speaking necessary, as the variability will eventually cause the sender to wait for ACKs) and you will have middling to poor VoIP quality.
When the specified number of packets have been sent (and received) or if the program is terminated with a SIGINT, a brief summary is displayed. Shorter current statistics can be obtained without termination of process with signal 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.
IPV6 LINK-LOCAL DESTINATIONS¶
For IPv6, when the destination address has link-local scope and ping is using ICMP datagram sockets, the output interface must be specified. When ping is using raw sockets, it is not strictly necessary to specify the output interface but it should be done to avoid ambiguity when there are multiple possible output interfaces.
There are two ways to specify the output interface:
• using the % notation
ping fe80::5054:ff:fe70:67bc%eth0
ping fe80::5054:ff:fe70:67bc%2
• using the -I option
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:
BŁĘDY¶
ZOBACZ TAKŻE¶
ip(8), ss(8).
HISTORIA¶
Komenda ping pojawiła się w 4.3BSD.
Niniejsza wersja jest jej następcą charakterystycznym dla Linuksa.
As of version s20150815, the ping6 binary doesn't exist anymore. It has been merged into ping. Creating a symlink named ping6 pointing to ping will result in the same functionality as before.
BEZPIECZEŃSTWO¶
ping requires CAP_NET_RAW capability to be executed 1) if the program is used for non-echo queries (see -N option) or when the identification field set to 0 for ECHO_REQUEST (see -e), or 2) if kernel does not support ICMP datagram sockets, or 3) if the user is not allowed to create an ICMP echo socket. The program may be used as set-uid root.
DOSTĘPNOŚĆ¶
ping is part of iputils package.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
iputils 20221126 |