Of je nu een Linux-gebruiker bent (beginner of pro), er zijn bepaalde hulpprogramma’s waarvan je op de hoogte moet zijn. Een van die hulpprogramma’s is Ping. In deze tutorial zullen we de basisprincipes van deze tool bespreken aan de hand van enkele gemakkelijk te begrijpen voorbeelden. Maar voordat we dat doen, is het de moeite waard te vermelden dat alle voorbeelden in het artikel hier zijn getest op een Ubuntu 16.04 LTS machine.
Linux ping commando
In de meest eenvoudige termen, het ping commando laat je controleren of een remote host in leven is en reageert. Hieronder volgt de syntaxis:
ping destination
En zo legt de man page het uit:
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.
ping6 is IPv6 version of ping, and can also send Node Information
Queries (RFC4620). Intermediate hops may not be allowed, because IPv6
source routing was deprecated (RFC5095).
Volgende zijn enkele Q&A-achtige voorbeelden die u een goed idee moeten geven over hoe het ping commando werkt.
V1. Hoe gebruik je het ping commando?
Het basisgebruik is vrij eenvoudig – voer gewoon het ‘ping’ commando uit met bestemming als invoer.
Voorbeeld:
ping howtoforge.com
Het volgende is het resultaat van dit commando op mijn systeem:
Merk op dat het commando standaard doorgaat met uitvoeren totdat u het stopt met Ctrl+C.
Q2. Hoe kan ik het tijdsinterval tussen ping-pakketten veranderen?
Het standaardinterval tussen ping-pakketten is één seconde. Maar als je wilt, kun je deze vertraging aanpassen met de -i command line optie.
Het volgende commando zorgt bijvoorbeeld voor een gat van 3 seconden:
ping -i 3 howtoforge.com
En het volgende commando verstuurt pakketten met een vertraging van een halve seconde.
ping -i 0.5 howtoforge.com
Merk op dat alleen super-user interval mag instellen op waarden minder dan 0.2 seconden
Q3. Hoe kan ik de grootte van een ping pakket veranderen?
Het aantal bytes in een ping pakket is standaard 56 (64 als je de 8 bytes van de ICMP header meetelt). Als je wilt, kun je deze waarde echter veranderen, iets wat je kunt doen met de -s command line option.
Voor het verzenden van een pakket van 80 bytes (88 inclusief ICMP header), gebruik je bijvoorbeeld het volgende commando:
ping -s 80 howtoforge.com
Q4. Hoe kan ik ping een vast aantal pakketten laten verzenden?
Het standaardgedrag van ping is om pakketten te blijven verzenden totdat de gebruiker dit onderbreekt. Echter, als je wilt, kun je ping dwingen om te stoppen met uitvoeren na het verzenden van een ingesteld aantal pakketten. Dit kun je doen met de -c command line optie.
Het volgende commando zal bijvoorbeeld 3 pakketten versturen en dan stoppen.
ping -c 3 howtoforge.com
Q5. Hoe kan ik een vloedgolf van pakketten starten met ping?
Ja, het ping commando biedt ook een optie om een vloedgolf van pakketten te starten. Dit kun je doen met de -f command line option.
ping -f howtoforge.com
Hier staat wat de officiële docs zeggen over deze optie:
For every ECHO_REQUEST sent a period ``.'' is
printed, while for ever ECHO_REPLY received a backspace is
printed. This provides a rapid display of how many packets are
being dropped. If interval is not given, it sets interval to
zero and outputs packets as fast as they come back or one hun?
dred times per second, whichever is more. Only the super-user
may use this option with zero interval.
Q6. Hoe kan ik ping het tijdstempel voor elke regel laten afdrukken?
Er is een optie (-D) waarmee je dit kunt doen. De tijdstempel die wordt afgedrukt is een combinatie van unix-tijd en microseconden (zoals in gettimeofday).
ping -D howtoforge.com
Hier een screenshot van deze optie in actie:
Q7. Hoe kan ik een harde time-out voor ping instellen?
U kunt een tijdslimiet opgeven waarbinnen ping moet worden beëindigd. Dit kunt u doen met de opdrachtregeloptie -w, die een numerieke waarde voor het aantal seconden vereist.
Het volgende ping-commando stopt bijvoorbeeld na 3 seconden:
ping -w 3 howtoforge.com
Hier volgt de uitleg van deze optie in de officiële documenten:
Specify a timeout, in seconds, before ping exits regardless of
how many packets have been sent or received. In this case ping
does not stop after count packet are sent, it waits either for
deadline expire or until count probes are answered or for some
error notification from network.
Q8. Hoe stel ik een zachte time-out voor ping in?
Weliswaar zorgt de optie -w ervoor dat ping in ieder geval stopt als de deadline is verstreken, maar er is nog een andere optie (-W, in hoofdletters) die ping ook laat stoppen, maar alleen als er geen reactie komt van de kant van de bestemming.
ping -W 3 howtoforge.com
Hier ziet u hoe de man page het gedrag in dit geval uitlegt:
Time to wait for a response, in seconds. The option affects only
timeout in absence of any responses, otherwise ping waits for
two RTTs.
Conclusie
Ping is een belangrijk gereedschap dat vrijwel zeker gebruikt wordt bij het debuggen van netwerk-gerelateerde problemen. In deze tutorial hebben we enkele hoofdkenmerken (commandoregelopties) van dit hulpprogramma besproken. Oefen deze, en als je klaar bent, ga dan naar de man page van de tool om er meer over te weten.