Hvordan netværkstrafik flyder

hvordan netværkstrafik flyder – Kom godt i gang
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA

for at fejlfinde et problem skal du vide, hvordan netværkstrafik strømmer under normale omstændigheder. Denne artikel beskriver, hvad der sker, når en internetsøgemaskine bruges til at få adgang til en hjemmeside.

når hjemmesidens navn er indtastet, sker der en række meddelelser via forskellige protokoller. Tabellen nedenfor viser, hvordan netværkstrafikken flyder:

linje:
protokol:
kilde:
bestemmelsessted:
Data:
1
ARP
10.0.1.13
Broadcast
Hvem har 10.0.1.1? Fortæl 10.0.1.13
2
ARP
10.0.1.1
10.0.1.13
10.0.1.1 er klokken 00:80:c8: 57: d3: aa
3
DNS
10.0.1.13
10.0.1.1
standard forespørgsel A www.cyberguard.com
4
DNS
10.0.1.1
10.0.1.13
standard forespørgsel 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 sek=388864 Ack=37077089 vinde=0 Len=0

Arp-protokollen

før systemer kan kommunikere, skal de kende hinandens udstyrsadresser. Adresseopløsningsprotokollen (ARP) bruges til dette formål. Fra sin konfiguration kender arbejdsstationen IP-adressen på DNS-serveren.

linje # 1

protokol: kilde: Destination: Data:
ARP 10.0.1.13 Broadcast Hvem har 10.0.1.1? Fortæl 10.0.1.13

arbejdsstationen sender en anmodning til enhederne på sit netværk, der spørger “Hvem har” den IP-adresse, den har brug for at kommunikere med.

linje # 2

protokol: kilde: Destination: Data:
ARP 10.0.1.1 10.0.1.13 10.0.1.1 er klokken 00:80:c8: 57: d3: aa

fjernsystemet reagerer med sin udstyrsadresse. Nu hvor arbejdsstationen kender udstyrsadressen til fjernsystemet, kan den kommunikere med den.

DNS-protokollen
DNS-protokollen (Domain Name System) bruges til at løse systemnavne til IP-adresser. Når et hjemmesidenavn indtastes, skal arbejdsstationen kende den tilsvarende IP-adresse for at nå den internetserver, der er vært for hjemmesiden.

linje # 3

protokol: kilde: Destination: Data:
DNS 10.0.1.13 10.0.1.1 Standard Forespørg et spørgsmål.cyberguard.com

arbejdsstationen beder DNS-serveren om at angive IP-adressen på internetserverhosting www.cyberguard.com.

linje # 4

protokol: kilde: Destination: Data:
DNS 10.0.1.1 10.0.1.13 standard forespørgsel svar CNAME cyberguard.com A 64.94.50.88

DNS-serveren reagerer med den IP-adresse, der svarer til www.cyberguard.com.

TCP-protokollen

Transmission Control Protocol (TCP) – protokollen bruges til at overføre data. Disse næste tre linjer omfatter TCP tre-vejs håndtryk:

linje # 5

protokol: kilde: Destination: Data:
TCP 10.0.1.13 64.94.50.88 1939 > http

det er muligt at oprette forbindelse til serveren (SYN). SYN er en forkortelse for ” Synkroniser.”

Linje # 6

Protokol: kilde: Destination: Data:
TCP 64.94.50.88 10.0.1.13 http > 1939

serveren svarer tilbage, hvilket indikerer, at den er klar til transmission (SYN ACK). SYN ACK er en forkortelse for ” Synkroniser anerkendelse.”

linje # 7

protokol: kilde: Destination: Data:
DNS 10.0.1.13 64.94.50.88 1939 > http

arbejdsstationen sender til internetserveren, hvilket indikerer, at den begynder at sende trafik (ACK). Denne bekræftelse indikerer, at TCP-forbindelsen er etableret, og trafikken kan begynde at strømme.

HTTP-protokollen

Hyper-Tekstoverførselsprotokollen (HTTP) bruges til at vise hjemmesider. Du kan se bevis på dette fra hjemmesideadressen i din bro.ser (dvs. http://www.cyberguard.com).

Linje # 8

Protokol: Kilde: Destination: Data:
HTTP 10.0.1.13 64.94.50.88 Hent / HTTP/1.1

der åbnes en forbindelse til internetserveren.

linje # 9

protokol: kilde: Destination: Data:
HTTP 64.94.50.88 10.0.1.13 HTTP/1.1 200 OK

internetserveren accepterer forbindelsen.

Linje # 10

Protokol: Kilde: Destination: Data:
HTTP 64.94.50.88 10.0.1.13 HTTP fortsættelse

HTTP-Fortsættelseslinjerne repræsenterer, hvor indholdet af html-siden sendes over. Det indeholder tekst, links osv.

tilbage til TCP-protokollen

linje # 11

protokol: kilde: Destination: Data:
TCP 10.0.1.13 64.94.50.88 2577 > http sek=388864 Ack=37076821 vinde=8241 Len=0

denne linje gentages faktisk fire gange. Arbejdsstationen anerkender den sidste pakke.

linje # 12 (RST)

protokol: kilde: Destination: Data:
TCP 10.0.1.13 64.94.50.88 2577 > http sek=388864 Ack=37077089 vinde=0 Len=0

arbejdsstationen sender en nulstilling, der effektivt nedbryder TCP-forbindelsen.

Tcpdump og Ethereal

det er vigtigt at bemærke, at tcpdump vil give forskellige detaljer afhængigt af hvor den kører på dit netværk. I dette eksempel blev tcpdump kørt på den interne grænseflade af brandvæggen med en direkte tilsluttet arbejdsstation. Hvis tcpdump blev brugt til at overvåge den samme trafikstrøm på den eksterne grænseflade, ville kilde-IP-adressen fremstå som den eksterne grænseflade for brandvæggen, forudsat at Dynamic netværk Address Translation (DNAT) var på plads. For at observere, hvordan fuldmægtigstrafikken flyder, er det fornuftigt at køre tcpdump på både de interne og eksterne grænseflader, da fuldmagten fungerer som mellemmand mellem kilden og destinationen.

kilden til tabellen var en tcpdump-fil set gennem Ethereal. Den nøjagtige anvendte syntaks var: “tcpdump-vvpni dec1-s1514-m /arkiv2/dec1.DMP vært 10.0.1.13”. Tcpdump-kommandoen har omfattende muligheder for registrering af meget specifik trafikstrøm (dvs.kilde/destination, porte og boolske udtryk). For mere information, indtast “man tcpdump” på kommandolinjen. Vinduerne version er Vindump (http://windump.polito.it).

Ethereal er et godt værktøj til at se tcpdump filer. Det er frit tilgængeligt fra http://www.ethereal.com.

nogle af de porte, der findes i en tcpdump, kan være ukendte for dig. Den mest aktuelle liste over portnumre findes på http://www.iana.org/assignments/port-numbers (pr.RFC 3232).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.