NSA uke 41 del 2 Protokoller IPv4 adresser MAC adresser IP og TCP header Analyseverktøy Eksempler Nettverksoppsett under Linux Mer om verktøy Innledning til DNS
Noen internet protokoller Internet Protocol (IP): Forbindelsesløs protolkoll primært ansvarlig for adressering og routing mellom verter. Address Resolution Protocol (ARP): Brukes for å få hardware (MAC) adresser på samme fysiske nettverk. Internet Control Message Protocol (ICMP): Sender meldinger og rapporterer feil som har å gjøre med levering av pakker.
Noen vert til vert protokoller Transmission Control Protocol (TCP): Gir en forbindelsesorientert og sikker kommunikasjon for applikasjoner som sender store datamengder og som krever kvittering for at data er mottatt. User Datagram Protocol (UDP): Gir en forbindelsesløs kommunikasjon og garanterer ikke at pakker vil bli levert. UDP brukes typisk av applikasjoner som overfører mindre datamengder. Applikasjonen har selv ansvaret for at data blir levert.
Noen prosess/applikasjons protokoller File Transfer Protocol (FTP): Brukes for å overføre filer mellom to verter. Telecommunication Network (TELNET): En virtuell terminal protokoll som tillater en bruker å logge inn på en annen TCP/IP vert. Simple Mail Transfer Protocol (SMTP): Standard protokollen for overføring av e mail over internet. Den brukes mellom e mail servere eller mellom en e mail klient og en e mail server. Post Office Protocol (POP): Definerer et enkelt interface mellom en e mail klient og en e mail server. Den brukes til å laste ned mail og håndtere mailbokser. Hypertext Transfer Protocol (HTTP): Basis for utveksling over WWW. WWW sider er skrevet i HTML (Hypertext Markup Language).
IP v4 adresser En IP v4 adresse er et 32 bits tall som identifiserer en vert på et nettverk. Denne adressen må være unik for en maskin. Adressen består av en nettverksdel og en maskindel. netmask bestemmer hvilken del som er nettdelen og hvilken del som er maskindelen. En IP adresse kan være statisk (en maskin har alltid samme adresse) eller tildeles dynamisk ved boot av maskinen ved dhcp. En IP adresse skrives som et tall w.x.y.z hvor hvert tall ligger i området [0,255] altså at hver av de fire tallene er et åtte bits tall. Vi har følgende standard klasser IP adresser: Klasse Første oktett Nettverk Maskin Default netmask A 1 126 w x.y.z 255.0.0.0 B 128 191 w.x y.z 255.255.0.0 C 192 223 w.x.y z 255.255.255.0
Netmasken deler altså opp en IP adresse i en nettverksdel og en maskin del etter prinsippet nett_nummer.maskin_nummer, og vi finner da at nett_nummer = ip_adresse AND netmask bitvis. Eksempel: En maskin har IP adressen 208.234.12.46, og netmask på det subnettet denne maskinen er på er 255.255.255.240. Vi vil finne nettnummer og hvor mange IP maskiner vi kan ha på dette subnettet: 11010000.11101010.00001100.00101110 (IP adresse binært) 11111111.11111111.11111111.11110000 (netmask binært) 11010000.11101010.00001100.00100000 (nettadresse binært) Dette gir oss nettadressen 208.234.12.32, mens maskindelen har fire bits, altså totalt 16 adresser i området 208.234.12.32 208.234.12.47. Merk: Hvis vi har fått tildelt IP adresser kan vi selv velge hvordan vi vil fordele disse på forskjellige subnett ved å sette passe netmask.
Vi skriver ofte nettadresse/bits i maskering i stedet for en sekvens av adresser. I vårt eksempel ville vi da skrive 208.234.12.32/28 som da betyr det samme som 208.234.12.32 208.234.12.47 med netmask 255.255.255.240. Vi har følgende tabell: netmask bits i mask antall adresser i nett 255.255.255.252 /30 4 255.255.255.248 /29 8 255.255.255.240 /28 16 255.255.255.224 /27 32 255.255.255.192 /26 64 255.255.255.128 /25 128 255.255.255.0 /24 256 255.255.254.0 /23 512 255.255.252.0 /22 1024
Det vil alltid gå bort noen adresser til spesielt bruk av de adressene vi har fått tildelt. Disse er nettadressen, routeradresse og broadcast adresse. Broadcast adressen brukes for å sende til alle maskiner på subnettet. For å konfigurere nettverket på en vert trenger vi altså å vite nettadressen, IP adressen til verten, netmask, broadcast adresse samt IP adresse til router hvis vi ønsker statisk IP adresse på denne. Ved dynamisk tildelt IP adresse vil DHCP klienten ta seg av oppsettet. Eksempel: Manuelt oppsett av ethernet kort og routing tabell. # Setter host og domene navn /bin/hostname bluemaster /bin/domainname iu.hio.no # Kopierer DNS informasjon /bin/cp /etc/resolv.conf.hio /etc/resolv.conf # Setter opp nettverkskortet /sbin/ifconfig eth0 down /sbin/ifconfig eth0 128.39.89.35 broadcast 128.39.89.255 netmask 255.255.255.0 # Lager routingtabell /sbin/route add -net 128.39.89.0 netmask 255.255.255.0 /sbin/route add default gw 128.39.89.1
Eksempel: Følgende setter opp et trådløst kort med gammelt opplegg her: # Sets up a wireless interface # I probably don't need to take down eth0 /sbin/ifconfig eth0 down # Set up wireless card /usr/sbin/iwconfig eth1 essid ca30s /usr/sbin/iwconfig eth1 key s:0254s /usr/sbin/iwconfig eth1 nick "bluemaster" # Bring up our interface eth1 /sbin/ifconfig eth1 up # Set up network parameters with DHCP echo "Setting up DHCP stuff..." /sbin/dhcpcd eth1 echo "Done! - We are up and running." Eksempel: Følgende konfigurerer nettverket på verten med DHCP: # Sets up the network at home /sbin/ifconfig eth0 down echo "Setting up dhcp client..." /sbin/dhcpcd eth0 echo "Done.."
Ethernet bruker Ethernet adresser også kalt MAC (Media Access Controll) adresser eller hardware adresser. Denne aressen er unik for hvert nettkort og blokker med adresser blir tildelt hardware produsenter av Institute of Electrical and Electronic Engineers (IEEE) i USA. En slik adresse består av seks bytes, for eksempel 00:90:27:93:67:23 eller 00:01:03:8A:D9:76. Siden hver fabrikant har fått blokker av adresser så kan vi finne ut hvem som har laget kortet, hvis vi vet MAC adressen. Maskinen cacher MAC adresser, og vi kan bruke kommandoen arp for å se denne tabellen. bluemaster:/home/torejo/sys-stuff # arp Address HWtype HWaddress Flags Mask Iface cadeler30-gw.uninett.no ether 00:00:0C:5A:CD:90 C eth0 math.iu.hio.no ether 00:90:27:5B:25:4A C eth0 nexus.iu.hio.no ether 08:00:20:9B:DD:4A C eth0
Pakker på nettet Når data skal sendes over nettet pakkes data inn i pakker. Disse pakkene har headere med forskjellig type informasjon avhengig av pakke typen. Eksempel: Linux støtter flere typer IP pakker, for eksempel ICMP, UDP og TCP. En IP pakke vil inneholde en rekke felt med informasjon som størrelse, protokoll, senderadresse, motageradresse mm i IP headeren. Vi kan bruke tcpdump eller ethereal til å analysere trafikk på nettet. Programmet hping2 kan brukes for å konstruere pakker.
Verktøy for nettverksoppsett på vert: ifconfig iwconfig route dhcpcd Noen nettverktøy: netstat route arp ping traceroute
Navnoppslag etc: nslookup dig host For å finne tjenester (åpne porter mm): nmap el xnmap (brukes med forsiktighet) For å se på pakker på nettet: tcpdump ethereal
Noen viktige filer for nettverksoppsettet: /etc/resolv.conf Filen innholder informasjon om navnetjener. Vi må her oppgi IP adressen naturligvis. Eksempel: torejo@bluemaster:~> cat /etc/resolv.conf nameserver 128.39.74.16 nameserver 128.39.89.10 search iu.hio.no
Lokal database over IP adresser: /etc/hosts Filen inneholder IP adresser navn og kortnavn for noen verter. Maskinen sjekker først denne databasen før den tar i bruk navnetjenesten. Eksempel: torejo@bluemaster:~> cat /etc/hosts 127.0.0.1 localhost me 128.39.74.16 cube.iu.hio.no cube 128.39.89.20 bluemaster.iu.hio.no bluemaster 128.39.89.39 math.iu.hio.no math 128.39.89.5 susann.iu.hio.no susann
DNS Domain Name Service DNS er en tjeneste som konverterer kvalifiserte vertsnavn host.domain til IP adresser og visa versa. DNS tjenesten er en distribuert database hvor en navnetjener har ansvar for en sone. En sone har gjerne flere navnetjenere, med en primær tjener og en eller flere sekundær tjenere. Globalt finnes det noen root tjenere som vedlikeholdes av forskjellige organisasjoner. Hos oss kan konfigurasjonsfilene for våre navnetjenere finnes på /iu/cube/local/iu/dns/ og sonefilene på /iu/cube/local/iu/dns/sz/
Innholdet i disse katalogene er som følger: /iu/cube/local/iu/dns/ innholder konfigurasjonsfiler for tjeneren for eksempel: named.conf selve konfigurasjonsfilen named.root liste over root tjenerne /iu/cube/local/iu/dns/sz/ inneholder to typer filer, domain.country og subnet Hos oss er disse iu.hio.no og 128.39.89 etc. Filen domain.country identifiserer blant annet verter med IP adresser, vi kan sette opp aliaser, mailexchange informasjon mm. Filen(e) subnet identifiserer IP adresser med navn.
Eksempel: [torejo]@cube$ more iu.hio.no $ORIGIN. $TTL 14400 ; 4 hours iu.hio.no IN SOA nexus.iu.hio.no. drift.iu.hio.no. ( 2004011302 ; serial 28800 ; refresh (8 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS dns.hio.no. NS cube.iu.hio.no. NS nexus.iu.hio.no. NS quetzalcoatal.iu.hio.no. A 128.39.89.10 MX 10 nexus.iu.hio.no. AAAA 2001:700:700:3:a00:20ff:fe9b:dd4a $ORIGIN iu.hio.no. 6050-w2k A 128.39.74.52 switch-128.39.74-44 A 128.39.74.44 $TTL 86400 ; 1 day _msdcs NS 6050-w2k _sites NS 6050-w2k _tcp NS 6050-w2k _udp NS 6050-w2k $TTL 14400 ; 4 hours algr23et A 128.39.74.55 anna A 128.39.89.32 ap-auditorier-1 A 128.39.75.241
Eksempel: [torejo]@cube$ more 128.39.89 $ORIGIN. $TTL 14400 ; 4 hours 89.39.128.in-addr.arpa IN SOA nexus.iu.hio.no. drift.iu.hio.no. ( 2003121700 ; serial 28800 ; refresh (8 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS dns.hio.no. NS cube.iu.hio.no. NS nexus.iu.hio.no. NS quetzalcoatal.iu.hio.no. $ORIGIN 89.39.128.in-addr.arpa. 1 PTR cadeler30-gw.uninett.no. 10 PTR nexus.iu.hio.no. 100 PTR pc100-89.iu.hio.no. 101 PTR pc101-89.iu.hio.no. 102 PTR pc102-89.iu.hio.no. 103 PTR pc103-89.iu.hio.no. 104 PTR pc104-89.iu.hio.no. 105 PTR pc105-89.iu.hio.no. 106 PTR pc106-89.iu.hio.no. 107 PTR pc107-89.iu.hio.no. 108 PTR pc108-89.iu.hio.no. 109 PTR pc109-89.iu.hio.no. 11 PTR ca30fag.iu.hio.no.
Oppgavene for lab til uken vil være å gjøre seg kjent med verktøy for navneoppslag mm altså med dig, host (og nslookup). Dere må her lese manualsidene og gjøre dere kjent med hvilken informasjon dere kan få fra en navnetjener.