De vanligaste nätverkstjänsterna

WWW-trafik och annan TCP-baserad trafik

För WWW-trafik och annan TCP-baserad trafik skickar klienten en uppkopplingsbegäran (SYN) som servern svarar på och säger att det är ok att uprätta en förbindelse (ACK). ACK används även senare för att bekräfta att data har kommit fram. Bilden nedan visar hur en uppkoppling ser ut för TCP-trafik.

I bilderna nedan (förutom för HTTPS) visas endast uppkopplingstrafiken (SYN) för tcp.

HTTPS

HTTPS är WWW-trafik över en krypterad SSL-förbindelse. HTTPS kopplar upp en TCP-förbindelse från en hög port på klienten till port 443 på servern.

SSH

SSH är ett program för att upprätta krypterade förbindelser och bör användas istället för telnet och ftp. Över en upprättad ssh-förbindelse går det att köra X-applikationer som även de blir krypterade.

Om ssh-klientprogrammet är setuidat root brukar klienten använda en port strax under 1024 (1023, 1022, 1021 osv...) istället för en hög port.

NNTP

NNTP är det protokoll som används för att kommunicera med en newsserver. När klienten kopplar upp sig mot en server görs detta från en hög port på klienten till port 119 på servern.

SMTP

SMTP står för Simple Mail Transfer Protocol. SMTP används för att läsa och skicka e-post. Notera att många vanliga klienter använder POP eller IMAP för att hämta e-post från en server och använder SMTP för att skicka e-post till en server. Två e-postservrar använder SMTP när de kommunicerar med varandra där den part som etablerar uppkopplingen gör det på samma sätt som en vanlig klient.

POP

POP används för att hämta e-post från en e-postserver. Nuförtiden är det oftast POP3 som används. POP använder TCP och kopplar upp sig från en hög port på klientmaskinen mot port 110 på servern.

IMAP

IMAP används för att hämta e-post från en e-postserver. IMAP använder TCP och kopplar upp sig från en hög port på klientmaskinen mot port 143 på servern.

DNS, namnuppslagningar

Namnuppslagningar använder UDP där servern kör på port 53. DNS-servern skickar svar tillbaka med UDP från port 53 till den höga port där frågan kom från. Om fråga eller svar innehåller mycket data används istället TCP.

I /etc/services heter tjänsten domain.

domain 53/tcp
domain 53/udp

FTP

FTP är lite besvärligare än de flesta andra protokoll. Det finns två typer av FTP- uppkopplingar, passiv och aktiv FTP.

Aktiv FTP

I aktiv FTP kopplar klienten upp sig med TCP från en hög port till port 21 på servern. Denna kanal används för att skicka kommandon. När data ska överföras kopplar servern upp sig från port 20 mot en hög port på klienten.

Passiv FTP

I passiv FTP gör klienten bägge uppkopplingarna. Först kopplar klienten upp sig från en hög port till port 21 på servern. När det är dags för dataöverföring kopplar klienten upp en ny förbindelse från en hög port till en hög port på servern.

ICMP

ICMP används för att skicka meddelanden och felmeddelanden som rör nätverket och åtkomst av tjänst. Om en tjänst är otillgänglig kan serverdatorn skicka ett ICMP-paket till klientdatorn och meddela detta. Om en dator eller ett nätverk inte är tillgängligt kan nätverksutrustning skicka ett ICMP-paket till klientdatorn och meddela detta. ICMP kan även användas för att se om en dator är uppe och lever (ping skickar ICMP-paket). ICMP kan användas för att få en dator otillgänglig (Denial Of Service). Man bör därför vara lite restriktiv över vilka typer av ICMP-paket som man ska tillåta till sin dator.

Några av de vanligaste ICMP-typerna.
ICMP-typVad den gör
0, Echo ReplyAnvänds till svar på ping.
3, Destination UnreachableSvar som talar om att en dator, ett nät, en tjänst etc. inte är nåbar.
4, Source QuenchSvar som talar om att UDP-trafiken går i för hög fart och att avsändaren måste sakta ner.
5, RedirectAnger att paketen ska skickas till en annan router, i en annan riktning, för att komma fram till mottagaren.
8, EchoAnvänds av bland annat ping för att se om en dator är nåbar över nätet.
Windowsversionen av traceroute använder också ICMP 8 och 0.
11, Time ExceededSvar som talar om att paket har kastats på vägen för att dess TTL, Time To Live, har gått ut.

Ping

Ping används för att ta reda på om en dator eller någon nätverksutrustning är uppe och lever och därmed är nåbar. Ping skickar ICMP-meddelanden. Klientprogrammet skickar ett ICMP echo request, servern svarar med ett ICMP echo reply. Ping kan missbrukas och skickas till broadcastadressen på ett nätverk för att störa ut nätet.

Traceroute

Traceroute används för att studera vägval från klientdator till någon nätverksutrustning eller server. Traceroute är även utmärkt för att ta reda på var på nätet nätverksproblem finns.

Klienten skickar trafik till första routern med tidsfältet satt till 1. Routern minskar värdet på tidsfältet och ser att det blev 0 och skickar därmed ett ICMP 11, Time Exceeded.

Klienten ökar värdet på tidsfältet så att trafiken kommer fram till nästa router som skickar ICMP 11 till svar. Detta upprepas tills dess att trafiken till slut når fram till servern som svarar med ICMP 3.

Med detta förfarande får klienten reda på information om all nätverksutrustning på vägen till en server.

Traceroute i Windows

I Microsoft Windows görs traceroute på ett lite annorlunda sätt. Klienten skickar ett ICMP 8, Echo Request med tidsfältet satt till 1. Första routern får detta och skickar ett ICMP 11 till svar. Klienten skickar ett nytt ICMP 8 med tidsfältet satt till 2 vilket når till router 2 som svarar med ett ICMP 11.

Detta förfarande upprepas tills trafiken når fram till servern som svarar med ICMP 0, Echo Reply.

NTP

NTP, Network Time Protocol, är ett protokoll som används för att tidssynkonisera datorer mot en server med korrekt tid. När en klientdator synkroniserar sin klocka mot en server med NTP skickar den ett UDP-paket från en hög port mot port 123 på servern där servern skickar svar tillbaka ett UDP-paket från port 123 till klientens höga port.

Två NTP-servrar som kommunicerar med varandra skickar UDP-paket från port 123 till port 123 i bägge riktningar.

Real Audio/Video

Real Audio är populärt för att lyssna på musik och för att titta på video. Klienten kopplar upp en TCP-förbindelse från en hög port mot port 7070 på servern. Servern skickar data (musik och/eller video) med UDP från en hög port till en port i intervallet 6970 - 7170 hos klienten.

ICQ

ICQ används för att kommunicera med andra människor. ICQ är tyvärr ett protokoll som är säkerhetsmässigt är väldigt osäkert. ICQ-servrar och ICQ-klienter är också kända för att ha haft problem med säkerhetshål. Protokollets design gör det också väldigt enkelt för en tredje part att ta över förbindelsen.

Vill du trots detta köra ICQ fungerar tjänsten enligt följande. Klienten kopplar upp sig mot en ICQ-server med UDP mot port 4000. Servern skickar svar tillbaka till klienten från port 4000 mot klientens höga port. Två klienter kan välja att använda någon specifik tjänst t.ex. Real Audio/Video, se respektive tjänst för mer information.

SMB

SMB är fildelningen i Windows. SMB använder portarna 137, 138 och 139. För det mesta används höga portar hos klienten och någon av portarna 137 - 139 för servern, det kan dock hända att klienten använder samma låga portar som servern. För tjänsterna på portarna 137 - 139 används UDP och TCP.


DHCP

DHCP står för Dynamic Host Configuration Protocol och innebär att en dator får sin IP-adress dynamiskt tilldelad sig av en DHCP-server. DHCP använder sig av UDP.

Klienten skickar en broadcastförfrågan från adress 0.0.0.0 och port 68 till broadcastadressen 255.255.255.255 och till port 67 (DHCPDISCOVER). Servern svarar från sin IP-adress och port 67 tillbaka till broadcastadressen 255.255.255.255 och port 68 (DHCPOFFER). Klienten ser svaret och i svaret står den IP-adress klienten har fått. Klienten skickar ännu en förfrågan till broadcastadressen där den frågar efter extra parametrar (DHCPREQUEST). Servern skickar ett svar till klienten (DHCPACK). Klienten skickar alla förfrågningar med UDP från port 68 till port 67. Servern skickar alla svar med UDP från port 67 till klienten och port 68 på klienten.

Klienten får i sitt svar reda på hur länge den får behålla sin IP-adress. Normalt brukar klienten efter halva den tiden skicka en ny förfrågan där den begär att få behålla sin IP-adress (DHCPREQUEST). Om klienten får behålla sin IP-adress skickar servern DHCPACK som svar i annat fall skickar den DHCPNAK om klienten inte får behålla sin adress. Även denna trafik använder UDP och portarna 67 och 68 enligt ovan.


Övrigt

För mer information om olika tjänster och reserverade portar se: http://www.isi.edu/in-notes/iana/assignments/

ICMP

reserverade portar

Protokoll och deras nummer





Copyright © 2010 Kjell Enblom.
This document is covered by the GNU Free Documentation License, Version 1.1