Verkko-osoite
Jotta kommunikointi verkossa onnistuu, tarvitsemme tavan yksilöidä sekä määrittää laitteen sijainti verkossa. Tarvitsemme myös tavan erottaa verkot toisistaan. Konsepti muistuttaa hyvin paljon perinteistä kotiosoitetta ja asuntoja yksilöivää numero/kirjain yhdistelmää. Esimerkiksi yhden taloyhtiön kaikki asunnot sijaitsevat samassa osoitteessa ja ne erotetaan toisistaan käyttämällä numeroa tai/sekä kirjainta.
Tietotekniikassa tämä konsepti toteutetaan IP-osoitteella ja osoite-avaruuksilla. Jokaisella Internetissä olevalla laitteella on IP-osoite ja jokaisella Internetin verkolla on oma osoite-avaruus. IP-osoitteet täytyy myös jakaa kahteen eri kategoriaan, eli yksityisiin ja julkisiin osoitteisiin. Yksityinen osoite yksilö laitteen lähiverkossa ja sen näkee vain saman verkon muut laitteet sekä verkon reititin. Julkista osoitetta taas käytetään verkkojen väliseen kommunikointiin.
Esimerkiksi, kun otat yhteyttä Googlen palveluihin, laitteesi kommunikoi ensin reitittimesi kanssa käyttämällä yksityistä osoitettasi. Sitten reititin välittää tämän pyynnön Googlelle käyttämällä julkista osoitetta. On hyvä myös huomioida, että tästä johtuen Googlen palvelut eivät näe muuta kuin julkisen osoitteen, joka on sama jokaisella lähiverkon laitteella. Tämä osoitteen muuttaminen toteutetaan käyttämällä metodia nimeltään osoitemuunnos, englanniksi Network Address Translation tai lyhyesti NAT, ja se on yksi reitittimen tehtävistä.
Verkkotunnus
Koska yllä mainittujen IP-osoitteiden käyttäminen jokapäiväisessä elämässä olisi epäkäytännöllistä ja vaikeaa, on kehitetty konsepti nimeltään verkkotunnus, englanniksi domain name. Verkkotunnukset, kuten google.com tai hakatemia.fi, ovat kaikessa yksinkertaisuudessaan vain helpommin muistettavat vastineet IP-osoitteille. Esimerkiksi, voimme vain kuvitella mitä elämä olisi, jos joka kerta kun haluat vierailla Hakatemian sivuilla, joutuisit näpyttelemään osoitteen 76.76.21.21. Mutta jotta voimme nauttia näistä verkkotunnuksista, tarvitsemme ensin välineen näiden ylläpitoon ja luomiseen. Tämä väline on nimeltään nimipalvelu, englanniksi Domain Name System tai DNS.
Nimipalvelun tärkein tehtävä on muuntaa verkkotunnuksia IP-osoitteiksi. Tässä vaiheessa on hyvä muistaa, että reititys tapahtuu loppujen lopuksi juurikin näillä IP-osoitteilla, eikä verkkotunnuksilla. Esimerkiksi, jos käyttäjä navigoi selaimellaan osoitteeseen www.google.com, käyttäjän laite lähettää ensin kyseisen verkkotunnuksen nimipalvelulle, jonka jälkeen nimipalvelu palauttaa laitteelle tätä verkkotunnusta vastaavan IP-osoitteen, esimerkiksi 216.58.209.196. Kommunikointi nimipalvelun ja laitteen välillä tapahtuu DNS-protokollalla.
Localhost - Oma tietokone
Localhost tai tätä vastaava IPv4-osoite (127.0.0.1), on tietokoneen oma IPv4-osoite ja tähän on aina pääsy vain tietokoneella itse. Localhost on tietokoneelle osoitettu verkko-osoite, eli kyseessä ei ole verkossa oleva IP-osoite. Tavanomaisesti tietokoneella on siis ainakin kaksi eri IP-osoitetta, yksi joka on tämä mainittu 127.0.0.1 ja yksi, jonka avulla tietokoneesi kommunikoi esimerkiksi koti-modeemisi kanssa. Mutta olitpa sitten yhteydessä verkkoon, esimerkiksi WiFi:n kautta tai ilman verkkoa, tietokoneellasi on aina osoite 127.0.0.1. Eli voit esimerkiksi ylläpitää verkkosivua tietokoneellasi, jonne pääsee selaimesta käyttämällä tuota localhost osoitetta.
Osoite 0.0.0.0
Osoite 0.0.0.0 on osoite, joka tulee tyypillisesti vastaan esimerkiksi reititystauluissa, sekä porttilistauksissa. Tämä osoite viittaa kaikkiin osoitteisiin samanaikaisesti, eli jos laitteesi on esimerkiksi yhteydessä useampaan verkkoon (esimerkiksi WiFi ja kaapeli), niin voit asettaa jonkin palvelun tietokoneellasi olemaan auki kaikille saataville verkoille asettamalla palvelun kuuntelemaan osoitetta 0.0.0.0. On tärkeää ymmärtää, ettet voi kuitenkaan ottaa yhteyttä kyseiseen osoitteeseen, vaan tarvitset siihen tarkan osoitteen.
Internetin osoitteet - harjoitus
Harjoittele oppimaasi Linux komentorivillä.
- Oman yksityisen IP-osoitteen saa selville komennolla ip address show dev eth0
- Käytössä olevan julkisen IP-osoitteen saa selville esimerkiksi komennolla dig @ns1.google.com TXT o-o.myaddr.l.google.com +short
- Verkkotunnusta vastaavan IP-osoitteen saa selville komennolla nslookup www.esimerkki.fi
Tehtävät
Tehtävä 1
Selvitä koneesi yksityinen IP-osoite ja tallenna se tiedostoon ~/private.txt
Tehtävä 2
Selvitä koneesi julkinen IP-osoite ja tallenna se tiedostoon ~/public.txt
Tehtävä 3
Selvitä www.wikipedia.fi IP-osoite ja tallenna se tiedostoon ~/wiki.txt
Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.