Netwerktools

Het Slackware Handboek: Voor Slackware Linux 9.1
Terug |  | Volgende

# Hoofdstuk 12. Netwerktools

# 12.1. De basis

## ping

ping(8) is een stuk gereedschap dat zogenaamde ICMP ECHO_REQUEST packets naar hosts stuurt. Dat wil zeggen dat er een verzoek wordt gedaan aan een host om te antwoorden. Dat maakt deze tool uitermate geschikt om te testen of bepaalde hosts bereikbaar zijn of om te controleren of je internet connectie goed werkt. Laten we kijken naar een voorbeeld van het gebruik van dit commando:

    bash-2.05a$ ping tazzy.blowgish.org
    PING tazzy.blowgish.org (192.168.1.1): 56 octets data
    64 octets from 192.168.1.1: icmp_seq=0 ttl=64 time=0.0 ms
    64 octets from 192.168.1.1: icmp_seq=1 ttl=64 time=0.0 ms
    64 octets from 192.168.1.1: icmp_seq=2 ttl=64 time=0.0 ms

    --- tazzy.blowgish.org ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.0/0.0/0.0 ms

Zoals te zien is de eenvoudigste syntaxis van dit commando "ping hostnaam". Aan dit voorbeeld is al veel informatie af te leiden. In de eerste regel wordt het IP adres van de computer getoond. Mocht dit niet gebeuren, dan zijn waarschijnlijk de nameserver instellingen niet goed of bestaat de hostnaam simpelweg dan niet. Daarna zal ping constant doorgaan met het sturen van beantwoordingsverzoeken. Je kunt elke keer zien wat de benodigde tijd was, wat bruikbaar is om simpele snelheidsmetingen te doen. ping is te stoppen door tegelijkertijd de "control" en "c" toetsen in te drukken. Hierna verschaft ping nog enige informatie, waaronder het percentage pakketverlies (packet loss). Om te zien of een verbinding betrouwbaar is kunt je ping een tijdje laten draaien en na beïndiging de packet loss bekijken.

## host

Met het commando host(1) kun je informatie over hosts opvragen met DNS. Standaard geeft host hostnaam het IP adres van de desbetreffende host:

    $ host www.nedslack.org
    www.nedslack.org has address 213.239.135.210

Ook kun je andere records/informatie opvragen voor hosts en/of domeinen. Lees voor meer informatie de host man pagina.

## traceroute

traceroute(8) probeert alle gateways te tonen die gepasseerd worden bij het contact maken met een bepaalde host. Zo is te zien hoeveel "hops" er nodig zijn voor een pakket om bij een bepaalde host te komen en die tijd die ervoor nodig was. Hier is een voorbeeld van traceroute in aktie:

    $ traceroute www.nedslack.org
    traceroute to www.nedslack.org (213.239.135.210), 30 hops max, 38 byte packets
     1  192.168.1.69 (192.168.1.69)  0.726 ms  0.667 ms  0.562 ms
     2  nas.euronet.nl (194.134.5.1)  153.248 ms  158.397 ms  194.148 ms
     3  F0-0.dr2-rt2.nl.euro.net (194.134.250.67)  312.472 ms  173.391 ms  146.758 ms
     4  P1-1-0.dr2-asd3.nl.euro.net (194.134.181.81)  343.253 ms  252.822 ms  211.670 ms
     5  P4-0.xr1-fft1.de.euro.net (194.134.181.78)  454.119 ms  219.295 ms  446.982 ms
     6  ge1-2-0.de-cix.fra3.trueserver.de (80.81.192.51)  153.319 ms  156.294 ms  162.161 ms
     7  www.nedlinux.nl (213.239.135.210)  166.122 ms  167.412 ms  165.502 ms

# 12.2. Secure Shell (OpenSSH)

Vroeger werden de telnet en rsh utilities gebruikt om op andere systemen in te loggen om er vervolgens op afstand op te kunnen werken. Het nadeel van beide programma's is dat zowel de wachtwoorden als data (toetsenbordinvoer en schermuitvoer) ongecodeerd over het netwerk gestuurd wordt. Iemand die een netwerk "afluistert" kan op die manier de inloggegevens voor shell accounts achterhalen en misbruiken. Secure Shell (SSH) maakte een einde aan deze onbeveiligde gegevensoverdracht door sessies te coderen, op die manier zijn verstuurde wachtwoorden en andere data niet te achterhalen door eventuele afluisteraars.

De SSH implementatie die in de meeste Linux distributies gebruikt wordt, is ontwikkeld door het OpenBSD team en heet OpenSSH. OpenSSH is een verzameling van commando's die gebruikt kunnen worden voor beveiligde gegevensoverdracht. OpenSSH kan onder andere gebruikt worden voor het werken op andere computers (remote shell) en het versturen van bestanden.

## ssh

Het ssh(1) commando wordt normaliter gebruikt voor het inloggen en werken op andere computers. De syntaxis is simpelweg ssh hostnaam, waarin hostnaam ook vervangen kan worden met het IP adres van het systeem waarop ingelogt moet worden. Bijvoorbeeld:

    $ ssh 192.168.1.69
    daniel@192.168.1.69's password:

ssh zal standaard met dezelfde gebruikersnaam proberen in te loggen als je ingelogt bent op de machine waarop ssh gestart wordt. Een andere gebruikersnaam kan opgegeven worden met de -l parameter of met de e-mailnotatie. Een voorbeeldsessie met de -l parameter:

    $ ssh -l danieldk 192.168.1.69
    danieldk@192.168.1.69's password:
    Last login: Sat Mar  8 17:37:28 2003 from 192.168.1.1
    NetBSD 1.6 (GENERIC) #0: Sun Sep 8 19:43:40 UTC 2002
    Erase is backspace.
    tweety: {1}

Met e-mailnotatie:

    $ ssh danieldk@192.168.1.69
    danieldk@192.168.1.69's password:
    Last login: Sat Mar  8 17:36:51 2003 from 192.168.1.1
    NetBSD 1.6 (GENERIC) #0: Sun Sep 8 19:43:40 UTC 2002
    Erase is backspace.
    tweety: {1}

## sftp

sftp is een handig commando waarmee het mogelijk is met normale ftp commando's bestanden te versturen tussen verschillende systemen. Aan de serverkant is sftp een onderdeel van de sshd daemon. Om met sftp een verbinding te maken met een ander systeem moet je op dat systeem een shell account hebben. De syntaxis is vrijwel identiek aan die van het ssh commando:

    sftp danieldk@192.168.1.69

## scp

Ook is het mogelijk met OpenSSH bestanden te kopieëren op een manier die vergelijkbaar is met het cp commando, namelijk met scp. Bestanden op andere servers worden als volgt aangegeven: gebruiker@host:bestandsnaam. Stel dat ik het bestand `logo.jpg` naar mijn account op 192.168.1.69 wil kopieëren, dan kan dat als volgt:

    $ scp logo.jpg danieldk@192.168.1.69:

Omdat ik geen directory of bestandsnaam heb gespecificeerd wordt logo.jpg met het bovenstaande commando naar mijn home directory gekopieërd. Stel dat ik het bestand naar de `www/` directory in mijn home directory wil kopieëren, dan volstaat het volgende commando:

    $ scp logo.jpg danieldk@192.168.1.69:html/

Andersom werkt het ook. Stel dat ik het bestand `essay` wil kopieëren vanaf de server naar de huidige directory, dan kan dat met het volgende commando:

    $ scp danieldk@192.168.1.69:essay .

Overigens kun je net als bij scp recursief bestanden kopieëren met de -r parameter:

    $ scp -r danieldk@192.168.1.69:essays/ .

Terug | Begin | Volgende
Processen |  | XFree86