Manpages

NAAM

ping — zend ICMP ECHO_REQUEST pakketten naar machines op het net

OVERZICHT

ping [−dfnqrvR] [−c tel] [−i wacht] [−l voorladen] [−p patroon] [−s pakketgrootte]

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 los te krijgen. ECHO_REQUEST datagrammen (’’pings’’) Hebben een IP en ICMP header gevolgd door een ’’struct timeval’’ en dan een willekeurig aantal ’’opvullings’’ bytes om het pakket te vullen. De keuzes zijn als volgt: Andere keuzes zijn:

−c tel

Stop na zenden (en ontvangen) van tel ECHO_RESPONSE pakketten.

−d

Zet de SO_DEBUG keuze op het socket dat wordt gebruikt.

−f

Stortvloed ping. Zend pakketten zo snel als ze terugkomen of één honderd keer per seconde, wat maar meer is. Voor elke verzonden ECHO_REQUEST wordt een punt ’’.’’ afgedrukt terwijl voor elke ontvangen ECHO_REPLY een backspace wordt afgedrukt. Dit geeft een snelle weergave van hoeveel pakketten er worden gedumpt. Alleen de super-gebruiker mag deze keuze gebruiken. Dit kan heel zwaar zijn op een netwerk en zou voorzichtig gebruikt moeten worden.

−i wacht

Wacht wacht seconden tussen zenden van elk pakket. De standaard is om te wachten voor één seconde tussen elk pakket. Deze keuze is komt niet overeen met de −f keuze.

−l voorladen

Als voorladen opgegeven is zendt ping zoveel pakketten zo snel mogelijk uit, vóórdat teruggevallen wordt op het normale gedrags. Alleen de supergebruiker mag deze optie gebruiken.

−n

Alleen numerieke uitvoer. Geen poging zal gedaan worden om symbolische namen op te zoeken voor machine adressen.

−p patroon

U mag tot 16 ’’opvullings’’ bytes opgeven om de verzonden pakket te vullen dat u zend. Dit is bruikbaar voor diagnostizering van gegevens afhankelijke problemen in een netwerk. Bijvoorbeeld, ’’−p ff’’ zal zorgen dat het verzonden pakket gevuld wordt met allemaal enen.

−q

Stille uitvoer. Niets wordt weergegeven behalve de samenvattings regels bij opstarten en wanneer beëindigt.

−R

Neem route op. Voeg de RECORD_ROUTE keuze bij de ECHO_REQUEST pakketten en geef de route buffer weer voor teruggekomen pakketten. Merk op dat de IP header alleen groot genoeg is voor negen zulke routes. De meeste machines op het net negeren of dumpen deze keuze.

−r

Slip langs de normale route tabellen en zend direct naar een machine op een verbonden netwerk. Als de machine niet op een direct-verbonden netwerk zit wordt een fout teruggegeven. Deze keuze kan gebruikt worden om een locale machine te pingen door een interface die geen route door zich heeft (bijvoorbeeld, nadat de interface werd gedumpt door routed(8)).

−s pakketgrootte

Geeft het aantal gegevens-bytes dat verzonden zal worden. De standaard is 56, wat vertaald in 64 ICMP gegevens bytes wanneer opgeteld bij de 8 bytes ICMP header.

−v

Praatgrage uitvoer. ICMP pakketten anders dan ECHO_RESPONSE die worden ontvangen worden opgegeven.

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. Dan zouden machines en gateways verder- en verder-weg ge-’’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/maximum heen-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.

Als ping helemaal geen enkel antwoord pakket ontvangt zal het eindigen met code 1. Bij fout eindigt het met code 2. Anders eindigt het met code 0. Dit maakt het mogelijk om de beëindings-code te gebruiken om te zien of een machine op het net leeft of niet.

Dit programma is bedoeld voor gebruik in netwerk testen, meten en beheer. Om de belasting die het op het netwerk kan leggen is het niet slim om ping gedurende normale gang van zaken of vanaf geautomatiseerde scripts te draaien.

ICMP PACKET 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-weer reistijden. Als minder dan acht bytes opvulling worden opgegeven worden geen heen-en-weer reistijden gegeven.

VERDUBBELDE EN BESCHADIGDE PAKKETTEN

Ping zal kopieerde pakketten en beschadigde pakketten rapporteren. Kopieerde pakketten zouden nooit moeten voorkomen, en lijken te worden veroorzaakt door niet toepasselijke verbindings-niveau her-verzendingen. Kopieerden kunnen optreden in vele situaties en zijn zelden (als ooit) een goed teken, alhoewel het voorkomen van kleine hoeveelheden kopieerden 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).

PROBEREN VAN ANDERE GEGEVENS PATRONEN

De (inter)netwerk laag zou nooit pakketten anders moeten behandelen afhankelijk van de gegevens in het gegevens deel. Helaas komt het wel eens voor dat gegevens afhankelijke problemen in netwerken kunnen sluipen en onopgemerkt kunnen blijven voor lange tijd. In veel gevallen zal het bijzondere patroon dat problemen geeft iets zijn dat niet genoeg ’’overgangen’’ heeft, zoals allemaal enen of allemaal nullen, of een patroon aan de rand zoals bijna allemaal nullen. Het is niet noodzakelijkerwijs genoeg om een gegevens patroon op te geven met allemaal nullen (bijvoorbeeld) op de opdracht regel omdat het patroon dat van belang is op het gegevens verbindings niveau, en de afhankelijkheden tussen wat u typt en wat de ’controllers’ verzenden ingewikkeld kan zijn.

Dit betekend 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.

De TCP/IP bepalingen geven op dat het TTL veld voor TCP pakketten gezet zou moeten worden naar 60, maar vele systemen gebruiken kleinere waardes (4.3 BSD gebruikt 30, 4.2 gebruikt 15).

De maximum mogelijke waarde voor dit veld is 255, en de meeste Unix systemen zetten het TTL veld van ICMP ECHO_REQUEST pakketten naar 255. Dit is waarom u zult merken dat u sommige machines op het net kunt ’’pingen’’, maar ze niet kan bereiken met telnet(1) of ftp(1).

In normale gang van zaken drukt ping de ttl waarde van het pakket dat het ontvangt af. Wanneer een op-afstand systeem een ping pakket ontvangt kan het één van drie dingen doen met het TTL veld in zijn antwoord:

Niet veranderen; dit is wat Berkeley Unix systemen deden vóór de 4.3BSD−Tahoe vrijgave. In dit geval is de TTL waarde in het ontvangen pakket 255 min het aantal ’routers’ op de heen-en-weer route.

Zet het naar 255; dit is wat huidige Berkeley Unix systemen doen. In dit geval is de TTL waarde van het ontvangen pakket 255 min het aantal ’routers’ in de route van het op-afstand systeem tot de pingende machine.

Zet het naar een andere waarde. Sommige machines gebruiken dezelfde waarde voor ICMP pakketten die ze gebruiken voor TCP pakketten, bijvoorbeeld 30 of 60. Anderen gebruiken wellicht volledig uit de lucht gegrepen waardes.

BUGS

Veel machines en Gateways negeren de RECORD_ROUTE keuze.

De maximum IP header lengte is te klein voor keuzes zoals RECORD_ROUTE om volledig bruikbaar te zijn. Er is echter niet veel dat hier aan gedaan kan worden.

Stortvloed pingen wordt niet aangeraden in het algemeen, en stortvloed pingen van het uitzendt {broadcast} adres zou alleen gedaan moeten worden onder hele gecontroleerde omstandigheden.

ZIE OOK

netstat(1), ifconfig(8), routed(8)

HISTORIE

De ping opdracht verscheen in 4.3BSD.

VERTALING

Dit is de handleiding van ping 3.18.

Alles wat tussen ’{’..’}’ staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Email naar <manpages-nl [AT] nl.org>.

$Id: ping.8,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $