PING(8) | iputils | PING(8) |
NAAM¶
ping - zend ICMP ECHO_REQUEST pakketten naar machines op het net
SAMENVATTING¶
ping [-aAbBdCDfhHLnOqrRUvV46] [-c count] [-e identifier] [-F flowlabel] [-i interval] [-I interface] [-l preload] [-m mark] [-M pmtudisc_option] [-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern] [-Q tos] [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp option] [hop...] {bestemming}
BESCHRIJVING¶
ping gebruikt het datagram ECHO_REQUEST, een verplicht onderdeel van het ICMP protocol, om een ICMP ECHO_RESPONSE van een machine op het net of gateway te verkrijgen. ECHO_REQUEST datagrammen (“pings”) hebben een IP en ICMP header gevolgd door een "struct timeval" en dan een willekeurig aantal opvul-bytes om het pakket te vullen.
ping werkt zowel met IPv4 als IPv6. Gebruik van precies een van deze kan worden bepaald door het opgeven van -4 of -6.
ping kan ook IPv6 Node Information Queries (RFC4620) sturen. Tussen liggende hops zijn mogelijk niet toegestaan, omdat IPv6 source routing werd afgekeurd (RFC5095).
OPTIES¶
-4
-6
-a
-A
-b
-B
-c aantal
-C
-d
-D
-e identifier
-f
-F flow label
-h
-H
-i wacht
-I interface
-l voorladen
-L
-m merk
-M pmtudisc_opt
-N nodeinfo_option
help
name
ipv6
ipv6-global
ipv6-sitelocal
ipv6-linklocal
ipv6-all
ipv4
ipv4-all
subject-ipv6=ipv6-adres
subject-ipv4=ipv4-adres
subject-name=nodename
subject-fqdn=nodename
-n
-O
-p patroon
-q
-Q tos
In RFC2474, worden deze velden geinterpreteerd als 8-bit Differentiated Services (DS), bestaande uit: bits 0-1 (2 laagste bits) van aparte data, en bits 2-7 (hoogste 6 bits) van Differentiated Services Codepoint (DSCP). In RFC2481 en RFC3168, worden bits 0-1 gebruikt voor ECN.
Historisch (RFC1349, verouderd door RFC2474), werden deze geinterpreteerd als: bit 0 (laagste bit) als gereserveerd (op dit moment onder definite als congestie instelling), 1-4 voor Type of Service en bits 5-7 (hoogste bits) for Precedence.
-r
-R
-s pakketgrootte
-S sndbuf
-t ttl
-T tijdstempel optie
-U
-v
-V
-w deadline
-W timeout
Bij gebruik van ping voor fout isolatie, zou het eerst gedraaid moeten worden op de locale machine om te verzekeren dat het locale netwerk werkt en draait. Vervolgens zouden machines en gateways verder- en verder-wegge-“pinged” moeten worden. Heen-en-terug tijden en verloren pakketten statistieken worden berekend. Als dubbele pakketten worden ontvangen worden ze niet meegerekend in de pakket-verlies berekening, alhoewel de heen-en-weer reistijd van deze pakketten wel gebruikt wordt in het berekenen van de minimum/gemiddelde/maximumheen-en-weer reistijden. Als het opgegeven aantal pakketten is verzonden (en ontvangen) of als het programma eindigt met een SIGINT, wordt een korte samenvatting weergegeven.
Groeps standaard deviatie (mdev), in essentie de gemiddelde afstand tussen de ping RTT en de gemiddelde RTT. Des te groter mdev is des te groter de variatie van RTT is (over de tijd). Bij een grote RTT variabiliteit zult u snelheids problemen met massa overdrachten hebben (die zullen langer duren dan strikt noodzakelijker, omdat de variabiliteit ervoor zal zorgen dat de verzender wacht op ACK´s) en u zult gemiddelde tot slechte VoIP kwaliteit ondervinden.
Zodra het opgegeven aantal pakketten werd verstuurd (en ontvangen) of zodra het programma werd beëindigt met een SIGINT, wordt een korte samenvatting getoond. Kortere statistieken kunnen worden verkregen zonder het beëindiging van het process met een SIGQUIT signaal.
Dit programma is bedoeld voor gebruik in het testen van netwerk, meten en beheer. Vanwege de belasting die het op het netwerk kan geven is het niet slim om ping gedurende normale gang van zaken of vanaf geautomatiseerde scripts te gebruiken.
EIND WAARDE¶
Als ping geen enkel antwoord pakket ontvangt zal het eindigen met code 1. Als het pakket aantal count en deadline beiden opgegeven werden en minder dan count pakketten werden ontvangen voordat deadline werd bereikt, dan beëindigt het ook met een code 1. Bij andere fouten eidigt het met code 2. In alle gevallen eidigt het met code 0. Dit maakt het mogelijk om de beëindings code te gebruiken om te zien of een host al dan niet actief is.
IPV6 LINK-LOCAL BESTEMMINGEN¶
For IPv6, als het bestemmings adre een link-local scope heeft en ping gebruik maakt van ICMP datagram sockets, moet het uitvoer interface opgegeven worden. Indien ping raw sockets gebruikt dan is het niet strikt noodzakelijk om het uitvoer interface op te geven, maar kan beter gedaan worden om ambiguiteit te voorkomen indien er meerdere uitvoer interfaces zijn.
Er zijn twee manieren op het uitvoer interface op te geven:
• gebruikmakend van de % notatie
ping fe80::5054:ff:fe70:67bc%eth0
ping fe80::5054:ff:fe70:67bc%2
• gebruikmakend van de -I optie
ICMP PAKKET DETAILS¶
Een IP header zonder keuzes is 20 bytes. Een ICMP ECHO_REQUEST pakket bevat een aanvullende 8 bytes met ICMP header gevolgd door een willekeurige hoeveelheid gegevens. Wanneer een pakketgrootte is gegeven, geeft dat de grootte van dit extra gedeelte gegevens op (de standaard is 56). Dus de hoeveelheid gegevens ontvangen binnen een IP pakket van soort ICMP ECHO_REPLY zal altijd 8 bytes meer zijn dan de gevraagde gegevens ruimte (door de ICMP header).
Als de gegevens ruimte tenminste acht bytes groot is dan gebruikt ping de eerste acht bytes van deze ruimte om een tijdstempel bij te voegen, die het gebruikt in het berekenen van Heen-en-terug tijden. Als minder dan acht bytes opvulling worden opgegeven worden geen heen-en-weer reistijden gegeven.
GEDUPLICEERDE EN BESCHADIGDE PAKKETTEN¶
ping zal gedupliceerde en beschadigde pakketten rapporteren. Gedupliceerde pakketten zouden nooit moeten voorkomen, en kunnen worden veroorzaakt door ongepaste link-level her-transmissies. Duplicaten kunnen optreden in vele situaties en zijn zelden (nooit) een goed teken, alhoewel het voorkomen van kleine aantallen duplicaten niet altijd reden voor paniek hoeft te zijn.
Beschadigde pakketten zijn duidelijk een serieuze oorzaak voor bezorgdheid en wijzen vaak op kapotte hardware ergens in de pad die het ping pakket aflegt (in het netwerk of in de machine).
ID BOTSINGEN¶
Anders dan TCP en UDP, die een port gebruiken om de unieke ontvanger van de data te identificeren, gebruikt ICMP het identificatie veld (ID) voor identificatie. Daarom, zullen op een en dezelfde machine, op hetzelfde tijdstip, two ping processen hetzelfde ID gebruiken en kan een echo antwoord afgeleverd worden bij de verkeerde ontvanger. Dit is een bekend probleem vanwege de beperkte grootte van het 16-bit ID veld. Dit is een historische beperking van het protocol welk niet kan worden opgelost tenzij we de ID in een ping pakket coderen. ping toont de ANDER ADDRES fout en de pakket verlies is negatief.
ping gebruikt PID om een uniek getal te krijgen. De standaard waarde van /proc/sys/kernel/pid_max is 32768. Op systemen die ping intensief gebruiken en met een pid_max groter dan 65535 zullen botsingen bijna zeker voorkomen..
PROBEREN VAN ANDERE GEGEVENS PATRONEN¶
De (link)netwerk laag zou pakketten nooit verschillend moeten behandelen afhankelijk van de gegevens zoals bevat in het gegevens deel. Helaas komt het wel eens voor dat gegevens afhankelijke problemen in netwerken kunnen sluipen en onopgemerkt blijven gedurende lange tijd. In veel gevallen zal het speciale patroon dat problemen geeft een zijn dat niet genoeg “overgangen” heeft, zoals allemaal enen of allemaal nullen, of een patroon aan de rand, met bijna allemaal nullen. Het is niet noodzakelijkerwijs genoeg om een gegevens patroon op te geven met (bijvoorbeeld) allemaal nullen op de opdracht regel omdat het patroon dat van belang is op het link-level niveau, en de relatie tussen wat u typt en wat de 'controllers' verzenden ingewikkeld kan zijn.
Dit betekent dat als u een gegevens afhankelijk probleem hebt u waarschijnlijk een hoop moet testen om het te vinden. Als u geluk hebt, kan het u lukken een bestand te vinden dat niet gezonden kan worden over uw netwerk, of dat veel langer over de overdracht doet dan andere bestanden van gelijksoortige lengte. U kunt dan dit bestand onderzoeken op herhaalde patronen die u kunt testen met de -p keuze van ping.
TTL DETAILS¶
De TTL waarde van een IP pakket vertegenwoordigd het maximum aantal IP `routers' dat het pakket door kan gaan voordat het weggegooid wordt. In de huidige praktijk kunt u verwachten dat elke router in het Internet het TTL veld met precies één zal verminderen.
Het TTL veld voor TCP pakketten kan verschillende waarden bevatten. De maximaal mogelijke waarde van dit veld is s255, een aanbevolen initiële waarde is 64. Voor meer informatie, zie de TCP/Lower-Level Interface sectie van RFC9293.
Normaliter drukt ping de TTL waarde van het pakket dat het ontvangt af. Wanneer een ander systeem een ping pakket ontvangt kan het één van deze drie dingen doen met het TTL veld in zijn antwoord:
BUGS¶
ZIE OOK¶
GESCHIEDENIS¶
De ping opdracht verscheen in 4.3BSD.
De versie zoals hier beschreven is een afstammeling specifiek voor Linux.
Sind versie s20150815, bestaat de ping6 binary niet meer. Hij is samengevoegd in ping. Het aanmaken van een symbolische koppeling genaamd ping6 wijzende naar ping zal resulteren in dezelfde functionalitiet als eerder.
BEVEILIGING¶
ping vereist de CAP_NET_RAW capaciteit om uit te voeren 1) als het programma wordt gebruikt voor niet-echo verzoeken (Zie -N optie), of 2) als de kernel niet-raw ICMP sockets ondersteund, of 3) als de gebruiker geen ICMP echo socket mag aanmaken. Het programma mag worden gebruikt als set-uid root.
BESCHIKBAARHEID¶
ping is onderdeel van het iputils pakket.
VERTALING¶
De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>
Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.
Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.
iputils 20240117 |