Hur nätverkstrafik flöden

hur nätverkstrafik flöden – komma igång
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA

för att felsöka ett problem, måste du veta hur nätverkstrafik flöden under normala omständigheter. Den här artikeln beskriver vad som händer när en webbläsare används för att komma åt en webbplats.

när webbplatsens namn har matats in i en webbläsare sker en serie kommunikationer över olika protokoll. Tabellen nedan visar hur nätverkstrafiken flyter:

linje:
protokoll:
källa:
Destination:
Data:
1
ARP
10.0.1.13
sändning
Vem har 10.0.1.1? Berätta 10.0.1.13
2
ARP
10.0.1.1
10.0.1.13
10.0.1.1 är på 00: 80: c8: 57: d3: aa
3
DNS
10.0.1.13
10.0.1.1
Standard fråga A www.cyberguard.com
4
DNS
10.0.1.1
10.0.1.13
Standard fråga svar CNAME cyberguard.com A 64.94.50.88
5
TCP
10.0.1.13
64.94.50.88
1939 > http
6
TCP
64.94.50.88
10.0.1.13
http > 1939
7
TCP
10.0.1.13
64.94.50.88
1939 > http
8
HTTP
10.0.1.13
64.94.50.88
GET / HTTP/1.1
9
HTTP
64.94.50.88
10.0.1.13
HTTP/1.1 200 OK
10
HTTP
64.94.50.88
10.0.1.13
HTTP Continuation
11
TCP
10.0.1.13
64.94.50.88
2577 > http Seq=388864 Ack=37076821 Win=8241 Len=0
12
TCP
10.0.1.13
64.94.50.88
2577 > http Seq = 388864 Ack=37077089 Win = 0 Len=0

Arp-protokollet

innan system kan kommunicera måste de känna till varandras hårdvaruadresser. Adressupplösningsprotokollet (ARP) används för detta ändamål. Från sin konfiguration känner arbetsstationen IP-adressen till DNS-servern.

linje # 1

protokoll: källa: Destination: Data:
ARP 10.0.1.13 Broadcast Vem har 10.0.1.1? Berätta 10.0.1.13

arbetsstationen sänder en begäran till enheterna i sitt nätverk som frågar ”Vem har” den IP-adress den behöver kommunicera med.

Linje # 2

protokoll: källa: Destination: Data:
ARP 10.0.1.1 10.0.1.13 10.0.1.1 är på 00: 80: c8: 57: d3: aa

fjärrsystemet svarar med sin hårdvaruadress. Nu när arbetsstationen känner till fjärrsystemets hårdvaruadress kan den kommunicera med den.

DNS-protokollet
DNS-protokollet (Domain Name System) används för att lösa systemnamn till IP-adresser. När ett webbplatsnamn matas in i en webbläsare måste arbetsstationen känna till motsvarande IP-adress för att nå webbservern som är värd för webbplatsen.

linje # 3

protokoll: källa: Destination: Data:
DNS 10.0.1.13 10.0.1.1 standardfråga en www.cyberguard.com

arbetsstationen ber DNS-servern att ange IP-adressen för webbserverns värd www.cyberguard.com.

linje # 4

protokoll: källa: Destination: Data:
DNS 10.0.1.1 10.0.1.13 Standard fråga svar CNAME cyberguard.com A 64.94.50.88

DNS-servern svarar med den IP-adress som motsvarar www.cyberguard.com.

TCP-protokollet

TCP-protokollet (Transmission Control Protocol) används för att överföra data. Dessa nästa tre rader omfattar TCP trevägs handskakning:

linje # 5

protokoll: källa: Destination: Data:
TCP 10.0.1.13 64.94.50.88 1939 > http

arbetsstationen initierar anslutningen till webbservern (SYN). SYN är en förkortning för ” synkronisera.”

Linje # 6

Protokoll: källa: Destination: Data:
TCP 64.94.50.88 10.0.1.13 http > 1939

webbservern svarar tillbaka och indikerar att den är klar för överföring (SYN ACK). SYN ACK är en förkortning för ” synkronisera bekräftelse.”

linje # 7

protokoll: källa: Destination: Data:
DNS 10.0.1.13 64.94.50.88 1939 > http

arbetsstationen skickar till webbservern som indikerar att den börjar skicka trafik (ACK). Denna bekräftelse indikerar att TCP-anslutningen är etablerad och trafiken kan börja flöda.

HTTP-protokollet

Hyper Text Transfer Protocol (HTTP) används för att tjäna upp webbsidor. Du kan se bevis på detta från webbadressen i din webbläsare (dvs. http://www.cyberguard.com).

Linje # 8

Protokoll: Källa: Destination: Data:
HTTP 10.0.1.13 64.94.50.88 GET / HTTP/1.1

webbläsaren öppnar en anslutning till webbservern.

Linje # 9

protokoll: källa: Destination: Data:
HTTP 64.94.50.88 10.0.1.13 HTTP/1.1 200 OK

webbservern accepterar anslutningen.

Linje # 10

Protokoll: Källa: Destination: Data:
HTTP 64.94.50.88 10.0.1.13 HTTP fortsättning

HTTP-Fortsättningsraderna representerar var innehållet på html-sidan skickas över. Den innehåller text, länkar etc.

tillbaka till TCP-protokollet

linje # 11

protokoll: källa: Destination: Data:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq = 388864 Ack=37076821 Win=8241 Len=0

denna linje upprepas faktiskt fyra gånger. Arbetsstationen erkänner det sista paketet.

rad # 12 (första)

protokoll: källa: Destination: Data:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq = 388864 Ack=37077089 Win = 0 Len=0

arbetsstationen skickar en återställning, effektivt riva ner TCP-anslutningen.

Tcpdump och Ethereal

det är viktigt att notera att tcpdump kommer att ge olika detaljer beroende på var den körs på ditt nätverk. I det här exemplet kördes tcpdump på brandväggens interna gränssnitt med en direkt ansluten arbetsstation. Om tcpdump användes för att övervaka samma trafikflöde på det externa gränssnittet, skulle källans IP-adress visas som brandväggens externa gränssnitt, förutsatt att DNaT (Dynamic Network Address Translation) var på plats. För att observera hur proxy trafikflöden, är det vettigt att köra tcpdump på både interna och externa gränssnitt, som proxy fungerar som en mellanhand mellan källan och destinationen.

källan till tabellen var en tcpdump-fil som ses genom Ethereal. Den exakta syntaxen som användes var: ”tcpdump-vvpni dec1-s1514-w /archive2/dec1.dmp värd 10.0.1.13”. Kommandot tcpdump har omfattande alternativ för inspelning av mycket specifikt trafikflöde (dvs. källa/destination, portar och booleska uttryck). För mer information, ange ”man tcpdump” på kommandoraden. Windows-versionen är Windump (http://windump.polito.it).

Ethereal är ett bra verktyg för att visa tcpdump filer. Det är fritt tillgängligt från http://www.ethereal.com.

några av portarna som finns i en tcpdump kan vara okända för dig. Den senaste listan över portnummer finns på http://www.iana.org/assignments/port-numbers (per RFC 3232).

Lämna ett svar

Din e-postadress kommer inte publiceras.