table of contents
PING(8) | iputils | PING(8) |
NUME¶
ping - trimite ICMP ECHO_REQUEST către gazdele din rețea
SINOPSIS¶
ping [-aAbBdCDfhHLnOqrRUvV46] [-c număr] [-e identificator] [-F etichetă-flux] [-i interval] [-I interfața] [-l pre-încărcare] [-m marcaj] [-M opțiune-pmtudisc] [-N opțiune-nodeinfo] [-w timp-limită] [-W timp-așteptare] [-p model] [-Q tos] [-s dimensiune-pachet] [-S sndbuf] [-t ttl] [-T marcă-temporală opțiune] [salt...] {destinație}
DESCRIERE¶
ping utilizează datagrama obligatorie ECHO_REQUEST a protocolului ICMP pentru a obține un ICMP ECHO_RESPONSE de la o gazdă sau de la o poartă de acces. Datagramele ECHO_REQUEST („pings”) au un antet IP și ICMP, urmat de o structură «struct timeval» și apoi de un număr arbitrar de octeți de „umplere” utilizați pentru a completa pachetul.
ping funcționează atât cu protocolul IPv4, cât și cu protocolul IPv6. Utilizarea explicită a unuia dintre acestea poate fi impusă prin specificarea -4 sau -6.
ping poate trimite, de asemenea, interogări de informații despre noduri IPv6 (RFC4620). Este posibil ca salturile intermediare să nu fie permise, deoarece direcționarea sursei IPv6 a fost eliminată (RFC5095).
OPȚIUNI¶
-4
-6
-a
-A
-b
-B
-c număr
-C
-d
-D
-e identificator
-f
-F etichetă-flux
-h
-H
-i interval
-I interfața
-l preîncărcare
-L
-m marcaj
-M opțiune-pmtudisc
-N opțiune-nodeinfo
help
nume
ipv6
ipv6-global
ipv6-sitelocal
ipv6-linklocal
ipv6-all
ipv4
ipv4-all
subject-ipv6=adresă-ipv6
subject-ipv4=adresă-ipv4
subject-name=nume-nod
subject-fqdn=nume-nod
-n
-O
-p model
-q
-Q tos
În RFC2474, aceste câmpuri sunt interpretate ca servicii diferențiate (DS) pe 8 biți, constând din: biții 0-1 (cei mai mici 2 biți) de date separate și biții 2-7 (cei mai mari 6 biți) de puncte de cod pentru servicii diferențiate (DSCP). În RFC2481 și RFC3168, biții 0-1 sunt utilizați pentru ECN.
Din punct de vedere istoric (RFC1349, înlocuit de RFC2474), acestea au fost interpretate astfel: bitul 0 (cel mai mic bit) pentru rezervat (în prezent redefinit drept control al congestiei), 1-4 pentru tipul de serviciu și biții 5-7 (cei mai mari biți) pentru precedență.
-r
-R
-s dimensiune-pachet
-S sndbuf
-t ttl
-T opțiune-marcă-temporală
-U
-v
-V
-w timp-limită
-W timp-așteptare
Atunci când se utilizează ping pentru izolarea defecțiunilor, trebuie mai întâi să fie rulat pe gazda locală, pentru a verifica dacă interfața de rețea locală este activă și funcționează. Apoi, ar trebui să fie trimis un ping către gazdele și porțile de acces din ce în ce mai îndepărtate. Se calculează timpii de parcurgere dus-întors și statisticile de pierdere a pachetelor. În cazul în care se primesc pachete duplicate, acestea nu sunt incluse în calculul pierderilor de pachete, deși timpul de călătorie dus-întors al acestor pachete este utilizat la calcularea numerelor de timp de călătorie dus-întors minim/mediu/maxim/standard.
Abaterea standard a eșntionării (mdev), în esență o medie a distanței dintre fiecare RTT ping și media RTT. Cu cât mdev este mai mare, cu atât RTT-ul este mai variabil (în timp). Cu o variabilitate ridicată a RTT, veți avea probleme de viteză la transferurile în masă (acestea vor dura mai mult decât este strict necesar, deoarece variabilitatea va determina în cele din urmă expeditorul să aștepte ACK-uri) și veți avea o calitate VoIP medie sau slabă.
Când numărul specificat de pachete a fost trimis (și primit) sau dacă programul se termină cu un SIGINT, se afișează un scurt rezumat. Statistici curente mai scurte pot fi obținute fără încheierea procesului cu semnalul SIGQUIT.
Acest program este destinat utilizării în testarea, măsurarea și gestionarea rețelelor. Din cauza încărcăturii pe care o poate impune asupra rețelei, nu este indicat să se utilizeze ping în timpul operațiilor normale sau din scripturi automate.
STARE DE IEȘIRE¶
În cazul în care ping nu primește niciun pachet de răspuns, va ieși cu codul 1. În cazul în care sunt specificate atât un număr pachet , cât și timp-limită și se primesc mai puține pachete decât număr până la atingerea timpului-limită, se va ieși, de asemenea, cu codul 1. În caz de altă eroare, acesta iese cu codul 2. În caz contrar, iese cu codul 0. Acest lucru face posibilă utilizarea codului de ieșire pentru a vedea dacă o gazdă este în viață sau nu.
DESTINAȚII ALE LEGĂTURII LOCALE IPV6¶
Pentru IPv6, atunci când adresa de destinație are domeniul de aplicare la nivel de legătură locală și ping utilizează socluri de datagramă ICMP, interfața de ieșire trebuie să fie specificată. Atunci când ping utilizează socluri brute, nu este strict necesar să se specifice interfața de ieșire, dar ar trebui să se facă acest lucru pentru a evita ambiguitățile atunci când există mai multe interfețe de ieșire posibile.
Există două moduri de a specifica interfața de ieșire:
• folosind notația %
ping fe80::5054:ff:fe70:67bc%eth0
ping fe80::5054:ff:fe70:67bc%2
• folosind opțiunea „-I”
DETALII DESPRE PACHETUL ICMP¶
Un antet IP fără opțiuni are 20 de octeți. Un pachet ICMP ECHO_REQUEST conține un antet ICMP suplimentar de 8 octeți, urmat de o cantitate arbitrară de date. Atunci când se dă o dimensiune-pachet, aceasta indică dimensiunea acestei bucăți suplimentare de date (valoarea implicită este 56). Astfel, cantitatea de date primită în interiorul unui pachet IP de tip ICMP ECHO_REPLY va fi întotdeauna cu 8 octeți mai mare decât spațiul de date solicitat (antetul ICMP).
În cazul în care spațiul de date are cel puțin dimensiunea „struct timeval” ping utilizează octeții de început ai acestui spațiu pentru a include o marcă temporală pe care o utilizează în calculul timpilor de parcurs dus-întors&. În cazul în care spațiul de date este mai mic, nu se indică timpii de parcurs dus-întors.
PACHETE DUPLICATE ȘI DETERIORATE¶
ping va raporta pachetele duplicate și deteriorate. Pachetele duplicate nu ar trebui să apară niciodată și se pare că sunt cauzate de retransmisiuni necorespunzătoare la nivel de legătură. Dublurile pot apărea în multe situații și sunt rareori (sau chiar niciodată) un semn bun, deși prezența unor niveluri scăzute de duplicate nu este întotdeauna un motiv de alarmă.
Pachetele deteriorate sunt, în mod evident, un motiv serios de alarmă și indică adesea defecțiuni hardware undeva pe traseul pachetului ping (în rețea sau în gazde).
COLIZIUNI DE IDENTIFICATOR¶
Spre deosebire de TCP și UDP, care utilizează portul pentru a identifica în mod unic destinatarul pentru a livra datele, ICMP utilizează câmpul de identificare (ID) pentru identificare. Prin urmare, dacă pe aceeași mașină, în același timp, două procese ping folosesc același ID, răspunsul de ecou poate fi livrat unui destinatar greșit. Aceasta este o problemă cunoscută din cauza dimensiunii limitate a câmpului ID de 16 biți. Aceasta este o limitare istorică a protocolului, care nu poate fi rezolvată în acest moment decât dacă codificăm un ID în sarcina utilă a pachetului ping. ping afișează eroarea DIFFERENT ADDRESS (ADRESĂ DIFERITĂ) și pierderea pachetului este negativă.
ping utilizează PID pentru a obține un număr unic. Valoarea implicită a /proc/sys/kernel/pid_max este 32768. Pe sistemele care utilizează ping intensiv și cu pid_max mai mare de 65535 este inevitabil să apară coliziuni.
ÎNCERCAREA UNOR MODELE DE DATE DIFERITE¶
Stratul (inter)rețea nu ar trebui să trateze niciodată pachetele în mod diferit în funcție de datele conținute în porțiunea de date. Din nefericire, se știe că problemele care depind de date se strecoară în rețele și rămân nedetectate pentru perioade lungi de timp. În multe cazuri, modelul special care va avea probleme este ceva care nu are suficiente „tranziții”, cum ar fi toate „unu” sau „zero”, sau un model chiar la limită, cum ar fi aproape toate „zero”. Nu este neapărat suficient să specificați un model de date format din toate zerourile (de exemplu) pe linia de comandă, deoarece modelul care prezintă interes se află la nivelul legăturii de date, iar relația dintre ceea ce introduceți și ceea ce transmit controlorii poate fi complicată.
Acest lucru înseamnă că, dacă aveți o problemă dependentă de date, va trebui probabil să efectuați multe teste pentru a o găsi. Dacă sunteți norocos, este posibil să reușiți să găsiți un fișier care fie nu poate fi trimis prin rețeaua dvs., fie durează mult mai mult timp pentru a fi transferat decât alte fișiere de lungime similară. Puteți examina apoi acest fișier pentru a găsi modele repetate pe care le puteți testa folosind opțiunea -p din ping.
DETALII TTL¶
Valoarea TTL a unui pachet IP reprezintă numărul maxim de routere IP prin care poate trece pachetul înainte de a fi respins. În practica curentă, vă puteți aștepta ca fiecare router din Internet să diminueze câmpul TTL cu exact unu.
Câmpul TTL pentru pachetele TCP poate lua diferite valori. Valoarea maximă posibilă a acestui câmp este 255, o valoare inițială recomandată este 64. Pentru mai multe informații, consultați secțiunea TCP/Lower-Level Interface din RFC9293.
În timpul funcționării normale, ping afișează valoarea TTL din pachetul pe care îl primește. Atunci când un sistem la distanță primește un pachet ping, acesta poate face unul dintre următoarele trei lucruri cu câmpul TTL din răspunsul său:
ERORI¶
CONSULTAȚI ȘI¶
ISTORIC¶
Comanda ping a apărut în 4.3BSD.
Versiunea descrisă aici este descendenta sa specifică pentru Linux.
Începând cu versiunea s20150815, binarul ping6 nu mai există. A fost fuzionat în ping. Crearea unei legături simbolice numite ping6 care să arate spre ping va avea ca rezultat aceeași funcționalitate ca înainte.
SECURITATE¶
ping necesită capacitatea CAP_NET_RAW pentru a fi executată 1) dacă programul este utilizat pentru interogări fără ecou (a se vedea opțiunea -N) sau atunci când câmpul de identificare este stabilit la 0 pentru ECHO_REQUEST (a se vedea -e), sau 2) dacă nucleul nu acceptă socluri de datagramă ICMP, sau 3) dacă utilizatorului nu i se permite să creeze un soclu de ecou ICMP. Programul poate fi utilizat ca set-uid root.
DISPONIBILITATE¶
ping face parte din pachetul iputils.
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
iputils 17 ianuarie 2024 |