[ InternetGuiden ]

nr 2-96

Ping-eling

Så håller du koll på värddatorer

Vilken väg tog epostbrevet du skickade? Fungerar den värddator du ska ladda ner filer ifrån? Var ligger felet om att allt är segt som sirap? Har du någonsin ställt dig frågor av den här typen så får du svaret av Lille Louis som denna gång förklarar funktionerna ping och traceroute.

Okej, då var det dags igen.
Den här gången ska vi titta lite på två funktioner som är oumbärliga om du vill ha lite koll på läget: ping och traceroute. Som vanligt måste du ha tillgång till ett Internetkonto dit du kan logga på med terminal program för att kunna utföra de kommandon som beskrivs nedan.
Häng inte läpp om den värddatorn som du ansluter dig till inte har de funktioner som jag beskriver. Denna läsning är inte bortkastad tid för det. Ånej. Det är nödvändigt att lära sig lite om de bakomliggande funktionerna på Internet, varav ett antal Unix-kommandon är av stor betydelse.
Framöver kommer jag att beskriva och förklara intrångsmetoder (och lämpliga motåtgärder givetvis). Då kan det vara bra att ha snappat upp en del grundläggande prylar först. Du kommer att ha nytta av det. Lita på mig.

The machine that goes ping!

Har du sett någon gammal krigsfilm som handlar om ubåtar? Bra, då kommer du fatta det här direkt. Ombord på gamla ubåtar brukar det finnas en sonarradar, du vet, en sån där som låter ping! med jämna mellanrum för att stressa upp stämningen.
Denna ljudeffekt brukar också ha sin givna plats i varje ubåtsdatorspel av rang. Sonarradaren används för att skicka ut en signal och när signalen studsar mot, till exempel, ett båtskrov kommer den tillbaka till ubåten, läses av instrument ombord, och; ping!.

På samma sätt fungerar kommandot/programmet ping (Packet InterNet Groper). Ping är en funktion som skickar ut ett paket (vanligen 40 bytes stort) och som sedan utför en serie mätningar på den eko-studs som blir när paketet kommer tillbaka.
Ping utnyttjar en funktion hos ICMP (Internet Control Message Protocol) som heter echo_request . ICMP är ett relativt oregerligt protokoll som körs ovanpå det vanliga och allsmäktiga IP som alla datorer som är anslutna till Internet behöver för att kunna tala (Om du inte visste du redan så kolla ordlistan längre bak i tidningen).
Ping används först och främst för att kolla:

  • Om en värddator är ansluten till Internet (det vill säga om den finns).
  • Om en värddators adress är riktig och rättstavad.
  • Om det är något fel på förbindelsen mellan din värddator och värddatorn som pingas.
  • Om värddatorn är fullbelagd, med andra ord upptagen.
  • Om värddatorn du vill kolla överhuvudtaget har ping-funktioner installerade.

Så här kör du en enkel ping:
Stå i prompten:
dator/usr/lillelouis>
Skriv ping följt av namnet (eller ip-adressen) på den värddator du vill kolla följt av retur.
dator/usr/lillelouis> ping rtfm.mit.edurtfm.mit.edu
ping: rtfm.mit.edurtfm.mit.edu is alive
Som du ser så svarar värddatorn rtfm.mit.edu att den lever och mår bra. Och det är ju kul. Ovanstående visar också varför *alla* vill ha en värddator som heter Elvis;-)
Men av detta kan du också räkna ut att anledningen till att du inte kommit in på rtfm.mit.edu de senaste timmarna med största sannolikhet beror på något fel hos din värddator, eller ännu troligare, på din utrustning och dina program. Skulle du råka stava värddatorns namn fel eller om den inte är uppe, skulle du få ett felmeddelande som såg ut så här:
dator/usr/lillelouis> ping rtfn.nit.edu
ping: unknown host rtfn.nit.edu
Om du har stavat värddatornamnet korrekt, men värddatorn är förhindrad att svara (av till exempel för mycket trafik) får du ett meddelande som utläses som:
dator/usr/lillelouis> ping rtfm.mit.edu
ping: no answer from host
Ping jobbar också med en så kallad timeout-funktion som i praktiken betyder att om inget livstecken kommit från värddatoradressen du angivit i ditt ping-kommando, så avbryts ping. Timeout-värdet brukar vara ställt till 20 sekunder.
Apropå host, så kan du använda kommandot host värddatornamn följt av retur, för att ta reda på om en värddator finns på Internet. Bra som reserv om ping inte skulle fungera av någon anledning.

The sultans of ping

Ibland kan Internet gå trögt som en mask i tjäle vilket är enormt irriterande. Man kan kolla hastigheten på datapaketöverföringen genom att skriva ping -s värddatornamn följt av retur. Värddatorn pingas då varenda sekund och du ser om det tar för lång tid för svaret från rtfm.mit.edu att komma tillbaka. Glöm för allt i världen inte att hålla inne Controltangenten och trycka ett c när du vill sluta pinga, annars pingar det på hela natten...
dator/usr/lillelouis> ping -s rtfm.mit.edu
ping: rtfm.mit.edu
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=2. time=368. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=4. time=337. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=5. time=388. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=6. time=477. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=7. time=420. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=8. time=285. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=9. time=323. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=10. time=453. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=11. time=422. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=12. time=302. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=13. time=421. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=14. time=402. ms
64 bytes from rtfm.mit.edu (18.181.0.24): icmp_seq=15. time=430. ms
Under 500 millisekunder är riktigt bra. Inget att gnälla över alltså.
Om några av ping-paketen inte skulle komma tillbaka överhuvudtaget är det dags att börja oroa sig, alternativt ge upp.

Check yourself

Det är inte bara hela vida Internet som kan gå långsamt av mycket trafik. Kolla även din egen värddators så kallade load average genom att skriva w -u följt av retur i prompten. Felet kan ju faktiskt ligga på hemmaplan...
9:45pm  up 12:46,  53 users,  load average: 0.68, 0.68, 0.79
Då ser du, förutom vad klockan är, hur många användare som är inloggade och hur mycket jobb den värddator som du anslutit dig till utför.
Kommer siffrorna längst till höger över 10.00 så är det riktig kris, allt går i ultrarapid. Siffrorna till höger representerar hur mycket värddatorn jobbade för 1, 5 och 15 minuter sedan. Enskilda toppar i arbetsbördan går alltså att se. Ett litet krux med en enkel mätning av load average är att kommandot inte redovisar de program och funktioner som kör på i bakgrunden. Dessa kan vara både många och sluka datorkraft, men själva bakgrundsfunktionen är en av fördelarna med operativsystemet Unix.
Om load average visar att allt är frid och fröjd, men allting ändå går i snigelfart, starta ett program, och om det går fruktansvärt mycket segare än i vanliga fall så är det några eller någon som kör något stort och hemskt i bakgrunden. Bara så att du vet. Skriv ett w följt av retur så ser du vem som gör vad.

Traceroute 66

Som du vet susar dina paket över Internet med en hisklig fart. Men vilken väg tar paketen? Och hur fort går det? Detta kan du ta reda på genom kommandot traceroute.
Stå i prompten som vanligt;
dator/usr/lillelouis>traceroute rtfm.mit.edu
traceroute to rtfm.mit.edu (18.181.0.24), 30 hops max, 40 byte packets
1  datornamn.domän.se (xxx.xx.xxx.xxx)  3 ms  3 ms  3 ms
2 annatdatornamn.domän.se(xxx.xxx.xx.xxx)  21 ms  47 ms  34 ms
3  131.115.211.4 (131.115.211.4)  48 ms  23 ms  12 ms
4  193.44.1.34 (193.44.1.34)  128 ms  147 ms  148 ms
5  Fddi0/0.Vienna6.VA.Alter.Net (137.39.11.11)  243 ms  360 ms  265 ms
6  Hssi2/0.CR1.DCA1.Alter.Net (137.39.100.77)  151 ms 153 ms  181 ms
7  101.Hssi4/0.CR1.BOS1.Alter.Net (137.39.30.2)  352 ms  417 ms  302 ms
8  Hssi3/0.Boston6.MA.Alter.Net (137.39.101.165)  198 ms  184 ms  147 ms
9  Fddi1/0.Boston3.MA.Alter.Net (137.39.99.1)  148 ms 217 ms  190 ms
10  Hssi0/0.Cambridge.MA.Alter.Net (137.39.100.98)  208 ms  204 ms  191 ms
11  w91-rtr-external-fddi.mit.edu (192.233.33.1)  186 ms  285 ms  229 ms
12  w20-rtr-fddi.mit.edu (18.168.0.8)  207 ms  221 ms 242 ms
13  rtfm.mit.edu (18.181.0.24)  245 ms  161 ms  195 ms
Av det ovanstående kan du alltså kolla vilken väg datorpaketen tog. Från Sverige ner till Alter.Net i Wien i Österrike och slutligen över till Cambridge via Boston fram till rtfm.mit.edu i delstaten Massachussetts i USA.
Allt som allt 13 hopp på vägen. Tjusigt va? Man kan också se paketens genomsnitts hastigheter i millisekunder. Hade något gått snett på vägen med dina paket, så kallad packet loss (tappade paket), hade det också visats.
Om du kör samma procedur en gång till ser du att dina små paket inte tog exakt samma rutt som första gången.
Det är runt den princip som Internet är uppbyggt. TCP/IP-protokollet ser till att dina paket tar den snabbaste och framkomligaste vägen. Jämför gärna rutter till olika länder och världsdelar. Du kommer snabbt att märka vilka delar av världen som det är smart att undvika om man har bråttom, åtminstone under rusningstid.
Nästa gång ska vi ge oss på en mer avancerad användning av ping samt, sist men på inget sätt minst, ge oss i kast med ett av mina favoritfunktioner: nslookup (Name Server Lookup), som man kan ha mycket roligt med. Lita på mig.

Ping på WWW

Om man inte har tillgång till ett terminalkonto kan man pinga från WWW istället. Det finns även värddatorer där inte användarna har rättigheter att pinga. Detta kan man kringgå om man pingar från en hemsida.
Ping to host;
http://www.uia.ac.be/cc/ping.html

Mikes net utilitys: ping;
http://sh1.ro.com/~mprevost/netutils/ping.html

Ping Gateway;
http://www.net.cmu.edu/bin/ping

Ping!;
http://online.dct.com/resources/ping.html

Ping utility;
http://www.epita.fr:5000/util/ping/

Värdelöst vetande:

Ordet ping betyder på nätspråk tvenne saker.
Det första, mest tydliga, är i betydelsen höra av sig eller få tag på Som i: Jag pingade dig i onsdags men ingen data kom tillbaka.
Den andra, mer svårbegripliga, är ett försök att uttrycka ett tillstånd av lycka och välbefinnande. På frågan Hur är läget? kan man alltså svara Ping! Motsatsen till denna form av ping är ordet Blargh. Självklart kan dessa båda ord böjas efter tycke och smak:
Jag kände mig pingad men alla andra bara satt och blarghade, så jag gick hem.

Text: Lille Louis


[Till början av sidan] [Till artikelförteckningen]