Kirjoittaja Aihe: Pientä verkon tutkailua ja muuta kivaa  (Luettu 3172 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Pientä verkon tutkailua ja muuta kivaa
« : 21.02.10 - klo:19.17 »
Vain tekniikasta kiinnostuneille:

Pidätkö omaa palvelinta netissä ?  Vai tuntuuko yhteydet tökkivän vastaan johonkin suuntaan ?  Tässä on yksi aika kätevä paikka josta voit testata yhteyttä ulkoa sisäänpäin:

http://www.wiberg.nu/iptools.php

Hauskuus tuossa ruotsalaisten saitissa on se että testaamaan pystyy myös http-yhteyden (tekstipohjainen selain). En ole muilla julkisilla testauspaikoilla netissä huomannut tuota ominaisuutta.

Näitä yleisiä testipaikkoja on paljon, maakohtainen lista tässä:

http://www.traceroute.org/


Pari sanaa ping ja tracert (=trace route) komennoista


Monille "ping" on tuttu komento jolla voi testata yhteyden toimntaa kahden pisteen välillä.  Ping lähettää testipaketin haluamasi osoitteeseen ja odottaa vastausta.  Vastauksesta näkee miten pitkään testipaketilla meni tuohon matkaan.  Jos vastausta ei kuulu niin matkalla on vikaa tai kohdekoneella on laitettu asetus "älä vastaa ping paketteihin".

Ping on helppo tapa myös kun halutaan tarkastaa ip-osoite jostain nimestä:

ping www.sonera.fi
PING sonera.fi (194.251.244.241) 56(84) bytes of data.
64 bytes from infonaytto.sonera.com (194.251.244.241): icmp_seq=1 ttl=247 time=6.57 ms

Ylläoleva paljasti myös sen että DNS -palvelu toimii oikein. Koneesi DNS client käy katsomassa DNS palvelimelta netissä mikä tuo nimi "www.sonera.fi" oikeastaan on ja paluttaa ip-osoitteen 194.251.244.241 jonka ping myös näyttää.

Jos ping olisi vastannut "unknown host" voisimme pingata tuolla ip-osoitteella suoraan:

ping 194.251.244.241
PING 194.251.244.241 (194.251.244.241) 56(84) bytes of data.
64 bytes from 194.251.244.241: icmp_seq=1 ttl=247 time=6.46 ms

Jos ping toimii ip-osoitteella mutta ei nimellä niin kyseessä on dns-ongelma. Jos ping vastaa "No route to host" se voi merkitä joko väärää / puuttuvaa Default Gateway osoitetta tai palomuuri estää ulospääsyn. Voit kohdata tämän palomuuriongelman yleensä vain jos olet itse viritellyt Ubuntun palomuurin oletusasetuksia.

Ihmettelitkö tuota ttl-arvoa ?   Niin minäkin mutta ehkä eri syystä.   Tuo ttl (Time To Live) kertoo montako reititinlaitetta voidaan läpäistä ennen kuin paketti hylätään.  Ideana lienee että paketti ei vikatilanteessa jäisi kiertämään verkkoa tolkuttoman pitkään.  Joissakin lähteissä mainitaa 30 olevan hyvä maksimiarvo, sillä pääsee maapallon ympäri.   Niinpä tuo yllämainittu paketti voisi ttl-arvonsa puolesta kulkea kahdeksan kertaa maapallon ympäri  ;D

Tätä ttl-arvoa voi hyödyntää hauskalla tavalla pingauksessa. Kokeillaanpas antaa ttl-arvo mukaan ping komentoon, ensin ttl=1, sitten ttl=2, ttl=3,...:

ping sonera.fi -c 1 -t 1

PING sonera.fi (194.251.244.241) 56(84) bytes of data.
From 192.168.1.1 icmp_seq=1 Time to live exceeded
 
ping sonera.fi -c 1 -t 2

PING sonera.fi (194.251.244.241) 56(84) bytes of data.
From 84.249.32.1 icmp_seq=1 Time to live exceeded

ping sonera.fi -c 1 -t 3
PING sonera.fi (194.251.244.241) 56(84) bytes of data.
From hkicredger06-e-4-2.datanet.tele.fi (141.208.23.89) icmp_seq=1 Time to live exceeded

Mitä kivaa tuossa muka on ?   Katsopa mitä lukee "From" sanan jälkeen:  Kun ttl= 1 eli yksi "hyppy" sallitaan paketille niin sieltä vastaa adsl-modemin reititin, kun ttl=2 niin Soneran ensimmäinen reititin,  kun ttl=3  niin vastaa Soneran seuraava reititin kauempana, jne.    Jos jatkamme ttl-arvon nostamista pääsemme lopulta kohteeseen eli tule enää viestiä "Time to live exceeded"  ja tiedämme kaikkien matkallaolevien laitteiden ip-osoitteet.  

Onnitteluni --- keksit juuri itse "tracert" (="trace route") komennon.   Perinteinen "tracert" tekee juuri tuolla tavalla eli pingailee vaiheittain nostaen ttl-arvoa.   Saat tracert -komennon asennettua omalle koneellesi:

Koodia: [Valitse]
sudo apt-get install traceroute
Sitten vain testailemaan reittejä omalta koneelta ulospäin. :)   Verkossa on myös joitakin paikkoja missä trace route -tulokset ulkoa sisäänpäin  näytetään kaaviona, kokeilepa tätä viihteeksesi:

http://clez.net/net.traceroute

Siellä näkyy myös "clez.net" välilehdellä numeeriset tulokset.   Tutustuimme perinteiseen trace route -ohjelmaan joka perustui ping- testipaketteihin (ICMP).  Keinoja on muitakin mutta tälläkin tiedolla pääset testailussa jo pitkälle.

Tulosten arvioinnista
  
Ping on toiminnallisesti vaikuttanut sekä luotettavalta (yhdellä varauksella) että helposti tulkittavalta. Asia jonka kanssa olen kohdannut hankaluuksia on ns. "broadcast" osoitteen käyttö ping komennossa jonka kanssa en ole onnistunut samaan tapaan kuin se toimi esim.  OS/2 käyttöjärjestelmässä.  Mitä iloa tuosta sitten olisi ? Kerrotaan aluksi että "broadcast" osoite on sellainen osoite joka kohdistaa kyselyn tyyliin "tämä on kaikille".  Kun lähetin pingin OS/2 koneelta broadcast osoitteeseen niin kaikki lähistön käynnissä olevat työasemat vastailivat osoitteillaan... :)  Pystyin siis pingaamaan koko yksittäistä verkkoa yhdellä komennolla.  Yritin äskettäin Ubuntussa selvittää missä ihmeen lokaalissa osoitteessa tuo adsl-purkin administrointi nyt on, vielä hauskempi työ jos ei ole alkuperäisessä osoitteessa. En saanut broadcastiä onnistumaan. Broadcast vähentäisi yritysten määrää kun ei tarvitsisi pingata kuin verkkokohtaisesti eikä jokaisen laitteen tarkkaa osoitetta yksitellen.  

Toimiikohan tämä muilla jos pingaat esim.  192.168.1.0  -b vivun kanssa ? Oma pingini jää roikkumaan broadcast osoitteella.

Traceroute onkin jo astetta hankalampi arvioitava.  Annoin listan netin traceroute paikoista mutta suhtaudu pienellä varauksella noiden toimivuuteen, vaikka idea on mainio niin osa niistä vaikuttaa bugisilta.  Hyvä asia on tietenkin että voi ottaa vertailevia testejä eri paikoista.  Harmi että näissä paikoissa ei pysty ottamaan pingiä eri ttl -arvoilla jolloin voisi kiertotietä tarkastaa saatuja tuloksia.
Traceroute näyttää tähden jos se ei saanut vastausta.  On aivan mahdollista että jollakin reitillä on tähtiä matkalla mutta tie loppuun asti silti löytyy oikein.  Tähän voi vaikuttaa useampi asia eli ainakin käytetty traceroute menetelmä ja ping/traceroute  vastausten esto kyseisellä reitittimellä.  Ulkoa sisäänpäin eteneminen pysähtyy tietysti myös omaan palomuuriisi tai NATtiin.

      
 
« Viimeksi muokattu: 26.02.10 - klo:16.11 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.