Verkon vianhaku

Seuraavassa käymme läpi muutamia verkon kartoittamista helpottavia komentoja. Komentoja voi käyttää mm.  vikojen etsintään ja tehtyjen asetusten (kuten TCP/IP tutkimisessa) selvittämiseen. Tehtävissä olevat komennot suoritetaan komentorivitilassa (ns. DOS-tila). Toiminnot edellyttävät verkkoyhteyttä.

HUOM! Kun kokeilet alla olevia toimintoja niin huomaa, että osa komennoista toimii vain tiettyjen käyttöjärjestelmien tietyissä versioissa!

1. IPConfig

Idea
IPConfig-ohjelma (Windows 95/98:ssä WinIPCfg) kertoo voimassa olevat TCP/IP-asetukset.

Hyöty
Ohjelman avulla voidaan todentaa, että manuaalisesti tehdyt asetukset ovat tulleet voimaan. Jos tietokone lainaa IP-osoitteen DHCP-palvelimelta (Dynamic Host Configuration Protocol), ohjelman avulla voidaan todentaa, onko kone todellakin saanut osoitteen palvelimelta ja mikä osoite on.

Toiminnot (kokeile)

Kirjoita

Selitys

ipconfig Ilman optiota IPConfig kertoo IP-osoitteen, aliverkon peitteen ja oletuksena olevan reitittimen osoitteen.
ipconfig/all Näyttää enemmän tietoja, kuten WINS- ja DNS-palvelimien osoitteet sekä verkkosovittimiin upotetut fyysiset osoitteet. Jos osoite on lainassa DHCP-palvelimelta, ohjelma näyttää myös DHCP-palvelimen IP-osoitteen sekä ajankohdan, johon asti laina on voimassa.
ipconfig/release Palauttaa koneen kaikkien verkkorajapintojen lainatut IP-osoitteet takaisin DHCP-palvelimelle.
ipconfig/renew Lähettää yhteyspyynnön DHCP-palvelimelle uusien IP-osoitteiden saamiseksi.

Alla olevasta kuvasta näkyy ipconfig-komennon antama koneen IP-osoite, aliverkon peite ja yhdyskäytävän IP-osoite.


2. Ping (Packet Internet Groper)

Idea
Ping-ohjelmaa käytetään selvittämään, onko isäntäkone valmiina ottamaan vastaan ja lähettämään datagrammeja toisen koneen kanssa.

Hyöty
Jos yhteys Pingin kautta onnistuu, voidaan päätellä, että tietyt TCP/IP-asetukset ovat oikein ja verkko on tältä osin toimiva. Siitä ei kuitenkaan voida päätellä, että TCP/IP olisi konfiguroitu oikein koko verkossa. Sitä varten on tehtävä useita Ping-kokeita käyttäen paikallisia ja etäyhteyksiä. Jos Ping toimii oikein, voidaan lähes täysin sulkea pois verkkokerroksen, sovittimen, kaapeloinnin ja jopa reitittimen ongelmat. Ping lähettää datagrammeja tietylle isäntäkoneelle käyttäen ICMP-kaiutuskomentoa.

Ping tulostaa tilastoja, kuten kadonneiden datagrammien lukumäärän ja vastauksen saapumiseen kuluneen ajan millisekunteina. Windows NT:ssä oletuksena on, että Ping-lähettää 4 kaiutuspyyntöä. Kaiken toimiessa oikein vastauksia tulee 4.Ping näyttää myös TTL-arvon (Time to Live), joka kertoo kuinka monen reitittimen läpi datagrammi voisi vielä kulkea ennen kuin se hylättäisiin. Jos vastauksena tulleen datagrammin TTL-arvo on esimerkiksi 119, voidaan arvata, että sen alkuarvo on ollut 128 paketin lähtiessä lähetettävästä koneesta. Vähennyslaskulla 129-119 saadaan selville, että lähettävä kone on 9 reititinhypyn päässä.

Ennen Pingin käyttämistä ajetaan IPConfig-ohjelma, jotta saadaan selville koneen ja oletusreitittimen  IP-osoitteet.

Toiminnot (kokeile)

Kirjoita

Selitys

ping 127.0.0.1 Testataan yhteyttä paikallisen koneen IP-ohjelmistoon. Ping-ohjelma ei tarvitse tässä tapauksessa verkkoa. Komennon epäonnistuminen on merkki väärin asennetusta tai väärin toimivasta TCP/IP-ohjelmistosta. Komento toimii, vaikka kaapeli olisikin irti.
ping oman koneen IP-osoite Komento on osoitettu oman koneen IP-osoitteeseen. Sen tulisi toimia aina. Epäonnistuminen on merkki ongelmista asennuksessa tai toiminnassa. Jos se alkaa toimia kytkettäessä verkkokaapeli omaan koneeseen, syynä saattaa olla, että jollekin toiselle koneelle on annettu sama IP-osoite. Komento toimii, vaikka kaapeli olisikin irti.
ping oletusreitittimen IP-osoite Komennon avulla kokeillaan yhteys oletusreitittimeen. Onnistuminen kertoo, että reititin on toiminnassa.
ping isäntäkoneen nimi Komennon seurauksena verkko yrittää selvittää nimeä vastaavan IP-osoitteen ennen varsinaisen pyynnön lähettämistä. Epäonnistuminen kertoo ongelmista nimipalvelun toiminnassa tai Hosts-tiedostossa.
ping etäkoneen IP-osoite tai toimialueen nimi (esim. www.ifi.fi). Neljä vastausta kertoo kertoo onnistuneesta yhteydestä oletusreitittimen kautta (ellei Route-komennon avulla ole valittu tiettyä reititintä).
ping localhost Paikalliselle koneelle on varattu nimi localhost. Jokaisen tietokoneen on muunnettava tämä nimi osoitteeksi 127.0.0.1. Epäonnistuminen kertoo ongelmasta Hosts-tiedostossa.
ping nic.funet.fi (esimerkki) Komennon suorittaminen edellyttää ensin nimen muuttamista IP-osoitteeksi DNS-palvelimella. Epäonnstuminen saattaa johtua väärin  konfiguroiduista IP-osoitetiedoista DNS-palvelimessa.
ping IP-osoite -t Optiolla -t Ping suorittaa komentoa, kunnes se keskeytetään, tavallisesti Ctrl-C:llä.
ping IP-osoite -n 10 Suorittaa Ping-komentoa tietyn määrän, esimerkissä 10 kertaa.

Alla olevasta kuvasta näkyy ping-komento, jossa testataan yhteys okol.osakk.fi -palvelimelle.


3. ARP (Address Resolution Protocol)

Idea
ARP on keskeinen TCP/IP-protokolla. Sen tehtävänä on määritellä IP-osoitetta vastaava fyysinen osoite.

Hyöty
ARP-komennon avulla voi tutkia paikallisen tai etäkoneen ARP-välimuistin sen hetkistä sisältöä. Lisäksi komennon avulla voi lisätä pysyvästi välimuistiin osoitetietueita, joissa on fyysinen ja IP-osoite. Liikenteen vähentämiseksi muistiin saattaa olla tarpeen lisätä usein käytettyjä osoitteita kuten oletusreitittimet tai paikalliset palvelimet. Oletusarvona, että ARP-välimuistin sisältö on muuttuva. Tietueita lisätään sitä mukaa, kun datagrammeja lähetetään osoitteisiin, joista ei ole ennestään tietuetta muistissa.

Tietueet alkavat vanheta heti käytön jälkeen. Esimerkiksi Windows NT:ssä  tietue vanhenee 2-10 minuutissa, jos sitä ei ole käytetty uudelleen luomisen jälkeen. Näin ollen ei kannata hämmästyä, josa ARP-välimuistissa on vain muutama osoite tai muisti on kokonaan tyhjä Tietueita voidaan lisätä muistiin Pingin avulla.

Toiminnot (kokeile)

Kirjoita

Selitys

arp -a Näyttää kaikki välimuistissa olevat osoitetietueet (NT)
arp -g Näyttää kaikki välimuistissa olevat osoitetietueet (UNIX ja NT)
arp -a ja IP-osoite Käytetään, kun koneessa on useita verkkosovittimia. Parametriksi annetaan sovittimen IP-osoite, jolloin komento näyttää tähän sovittimeen liittyvän ARP-välimuistin.
arp -s ja IP-osoite ja fyysinen osoite Sijoittaa osoiteparin pysyvästi ARP-välimuistiin. Tieto säilyy koneen sammuttamisen yli ja se päivittyy automaattisesti, jos manuaalisesti konfiguroiduista fyysisistä osoitteista aiheutuu virheitä. Esimerkiksi IP-osoitteeseen 192.59.66.250 liitetään fyysinen osoite* 008C7EO7EC5 komennolla:
arp -s 192.59.66.250 008C7EO7EC5
arp -g ja IP-osoite Poistaa pysyvästi tietueen välimuistista. Esimerkiksi edellinen tietue poistetaan välimuistista komennolla:
arp -s 192.59.66.250
arp -d IP-osoite Poistaa välimuistissa olevat IP-osoitteet.
   

* Valmistajan toimesta verkon laitteisiin kiinteästi annettu yksilöllinen laiteosoite. Osoitteen avulla laite tunnistetaan verkossa.Vrt. MAC-osoite eli yksikäsitteinen 48-bittinen tunnusnumero, jonka valmistaja on antanut verkkokortille. Fyysistä MAC-osoitetta käytetään TCP/IP-verkon tietoliikenteen kartoittamiseen.

Alla olevasta kuvasta näkyy arp -a -komento.


4. TraceRoute

Idea
TraRoute-ohjelmaa käytetään jäljittämään reitti (polku), jota pitkin datagrammit vaeltavat omasta tietokoneesta määränpäähänsä. Ohjelman ilmoittama reitti on vain yksi mahdollisista vaihtoehdoista eli ei ole mitään takeita siitä, että datagrammit kulkisivat samaan tietä seuraavalla kerralla.

Hyöty

TraceRoute on hyödyllinen selvitettäessä datagrammin kulkureittiä ja sitä, kuinka monta reititintä datagrammin on läpäistävä päästäkseen päämääräänsä. Komentoa voi käyttää myös vian paikantamiseen. Jos esimerkiksi Internet-yhteydet eivät toimi, voit selvittää komennolla traceroute IP-osoite, missä vika piilee. Suuressa organisaatiossa reitti kulkee ensin useiden reitittimien sekä palomuurin lävitse Internetiin. Mahdollinen vikapaikka on kohta, jossa TraceRoute ei enää kykene antamaan tietoja.

Toiminnot (kokeile)

Kirjoita

Selitys

traceroute IP-osoite Toimii UNIX-koneissa.
tracert IP-osoite Toimiin Microsoftin käyttöjärjestelmissä.

Alla olevassa kuvassa näkyy tracert-komento, jossa jäljitetään yhteys palvelimeen okol.osakk.fi.

 

5. Route

Idea
Useimmat  tietokoneet sijaitsevat segmenteissä, joihin on kytketty vain yksi reititin. Silloin ei ole vaihtoehtoja, mitä reittiä datagrammit lähtevät etäkoneelle. Reitittimien IP-osoite voidaan asettaa oletuksena yhdyskäytäväksi (default gateway) kaikkiin segmentin koneisiin.

Jos segmenttiin on kytketty sen sijaan kaksi tai useampia reitittimiä, ei haluta käyttää välttämättä vain oletusreititintä. Silloin reititystauluihin on tallennettava reititystietoja. Jokaisella tietokoneella ja reitittimellä on oma reititystaulunsa. Useimmat reitittimet käyttävät erityisiä reititinprotokollia dynaamiseen tietojen vaihtoon näiden taulujen kesken. Joskus on tarpeen kuitenkin asettaa tietoja manuaalisesti sekä tietokoneiden että reitittimien tauluihin.

Hyöty
Käytetään reititystietojen lisäämiseen, poistamiseen ja muuttamiseen. Se soveltuu myös reititystaulujen pysyvien ja dynaamisten tietojen näyttämiseen. HUOM! Tällä komennolla lisätyt reititystiedot eivät säily, vaan ne katoavat koneen sammuttua. Sen vuoksi route-komentoja on usein käynnistysskripteissä.

Toiminnot (kokeile)

Kirjoita

Selitys

route print Komento näyttää reititystaulun sisällön.
route add Komennon avulla lisätään uusi reititystieto reititystauluun. Esimerkiksi komento:
route add 205.34.17.0 mask 255.255.255.224 192.59.66.5 metric 5
Tulkinta: Kohdeverkkoon 205.34.17.0 määritellään viiden reitittimen kautta kulkeva reitti alkamaan reitittimestä 192.59.66.5 aliverkon peitteen ollessa 225.225.225.224
route change Muutetaan reititystietoa, mutta ei kuitenkaan tietojen määränpäätä. Esimerkiksi komento:
route change 207.34.17.0 mask 255.255.255.224 192.59.66.7 metric 3
Tulkinta: Muuttaa reitityksen käyttämään toista reititintä, jonka kautta on suorempi kolmen hypyn yhteys vastaanottavaan verkkoon.
route delete Poistaa reititystiedon reititystaulusta. Esimerkiksi route delete 207.34.17.0

 

6.  Hostname

Idea
Kertoo paikallisen koneen verkkonimen.

Hyöty
Saadaan selville verkkonimi.

Toiminnot (kokeile)

Kirjoita

Selitys

hostname Antaa paikallisen koneen verkkonimen

 

7. NetStat

Idea
Tulostaa IP-, TCP-, UDP ja ICMP-protokollista tilastotietoja.

Hyöty
Tulostus sisältää esimerkiksi tietoja lähetettyjen ja vastaanotettujen datagrammien lukumääristä sekä tietoja erilaisista virhetilanteista.

Toiminnot (kokeile)

Kirjoita

Selitys

netstat -s Tulostaa tilaston protokollittain. Komentoa tarvitaan, jos käyttäjän sovellus, esimerkiksi selain, on epätavallisen hidas tai ei kykene näyttämään WWW-sivuja. Silloin kannattaa tarkastella virheistä kertovia rivejä. Jos virheiden osuus on merkittävä suhteessa vastaanotettuihin IP-paketteihin, on asiaa syytä tutkia tarkemmin.
netstat -e Komentoa tulostaa tilaston Ethernetistä. Lista sisältää tiedon tavuista, virheistä, hylkäämisestä, välitetyistä datagrammeista ja yleislähetyksistä. Tilasto kertoo tiedot lähetetyistä ja vastaanotetuista datagrammeista.
netstat -r Optio tulostaa tietoja  reititystaulusta samaan tapaan kuin route print -komento. Lisäksi se näyttää aktiiviset  reitit ja yhteydet.
netstat -a Optio näyttää listan aktiivisista yhteyksistä mukaan lukien sekä jo muodostetut että vasta yhteydenottoa odottavat yhteydet.
netstat -n Näyttää muodostetut aktiiviset yhteydet.
netstat -p TCP Näyttää muodostetut TCP-yhteydet.
netstat -p UDP Näyttää muodostetut UDP-yhteydet.

 

8. Net Use/View

Idea
Net Use ja Net View -ohjelmien avulla todetaan NetBIOS-yhteys kahden koneen välillä. NetBIOS-tekniikka tekniikka on pääasiassa Windows-tietokoneille tarkoitettu menetelmä, jonka avulla koneet löytävät toisensa ja osaavat kommunikoida keskenään verkossa. NetBIOS käyttää koneiden ja jakopisteiden tunnistamiseen menetelmää nimeltään Universal Naming Convention (INC). Jakopiste (share point) on kohta, josta asiakaskoneet voivat ottaa yhteyden tietokoneeseen, esimerkiksi jaettuun hakemistoon.

UNC-nimet alkavat aina kaksinkertaisella kenoviivalla, jonka jälkeen tulee tietokoneen nimi. Esimerkiksi \\Tiedostopalvelin tarkoittaa palvelinta nimeltä Tiedostopalvelin. Jakopisteen nimi kirjoitetaan siten, että palvelimen nimen jälkeen ensi kenoviiva ja sitten ja sitten jakopisteen nimi. Esimerkiksi UNC-nimi \\Tiedostopalvelin\julkinen tarkoittaa jaettua hakemistoa julkinen palvelimella Tiedostopalvelin.

Hyöty
Net-komentojen avulla voidaan nopeasti tarkistaa toimiiko NetBIOS.

Toiminnot (kokeile)

Kirjoita

Selitys

net view Komennon avulla voi tarkastella palvelimien jakopisteiden nimiä. Jokainen voi käyttää tätä komentoa. Se ei edellytä käyttäjätunnusta ja salasanaa toisin kuin net use -komento. Ensimmäinen testi on antaa net view \\palvelimennimi, josta selviää, onko NetBIOS toiminnassa ja voiko palvelimen kanssa kommunikoida. Jos ne toimivat, tulostuu lista jakopisteiden nimiä.
net use Komennon avulla luodaan tai poistetaan kirjaintunnuksen avulla toimiva yhteys jakopisteeseen. Komento saattaa kysyä käyttäjätunnusta ja salasanaa. Esimerkiksi komento net use F:\\Tiedostopalvelin\julkinen luo yhteyden jaettuun hakemistoon, joka on palvelimella Tiedostopalvelin. Sama kirjaintunnus ei saa olla ennestään käytössä. Jos komennon suorittaminen onnistuu, voi sen jälkeen käyttää tätä toisella koneella sijaitsevaa hakemistoa viittaamalla siihen tunnuksella F:


9. NBTStat

Idea
NBTStat-ohjelma (NetBIOS ovet TCP/IP statistics) antaa tietoja NetBIOS-järjestelmästä. 

Hyöty
NBTStat näyttää paikallisen ja etäkoneen NetBIOS-nimitaulun.

Toiminnot (kokeile)

Kirjoita

Selitys

nbtstat -n Näyttää paikalliset NetBIOS-nimet.
nbtstat -c Näyttää etänimivälimiesmuistin sisällön. Välimuisti sisältää NetBIOS-nimistä ja vastaavista IP-osoitteista muodostuvia pareja. Nimet ovat peräisin niistä koneista, joiden kanssa tietokone on vastikään kommunikoinut.

 

10. nslookup

Tällä komennolla saat selville mikä on tietyn palvelimen ip-osoite numeerisessa muodossa (tai vastaavasti mitä numeerisen ip:n takana olevan palvelimen "oikea nimi". Toteutetaan komentorivitilassa.

Kirjoita

Selitys

nslookup - nslookup okol.osakk.fi
- nslookup 193.65.248.184

 

11. Apuohjelmien käyttö vikojen etsinnässä

TCP/IP-pinosta voi löytää vianaiheuttajan kokeilemalla erilaisia sovelluksia, jotka käyttävät TCP- ja UDP-protokollia, ja käyttämällä sekä socket- että NetBIOS-rajapintoja. Kokeilujen avulla voi päätellä mikä toimii ja mikä ei.

Vian etsinnässä kannattaa käyttää systemaattista menettelyä. Voit noudattaa seuraavia askelia:


T