cum curge traficul de rețea – Noțiuni de bază
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA
pentru a depana o problemă, trebuie să știți cum curge traficul de rețea în condiții normale. Acest articol detaliază ce se întâmplă atunci când un browser Web este utilizat pentru a accesa un site web.
odată ce numele site-ului Web este introdus într-un browser Web, o serie de comunicații are loc peste diferite protocoale. Tabelul de mai jos reprezintă modul în care fluxurile de trafic de rețea:
linie:
|
Protocol:
|
Sursa:
|
destinație:
|
date:
|
1
|
ARP
|
10.0.1.13
|
difuzare
|
Cine are 10.0.1.1? Spune 10.0.1.13
|
2
|
ARP
|
10.0.1.1
|
10.0.1.13
|
10.0.1.1 este la 00: 80: c8: 57: d3: aa
|
3
|
DNS
|
10.0.1.13
|
10.0.1.1
|
interogare Standard A www.cyberguard.com
|
4
|
DNS
|
10.0.1.1
|
10.0.1.13
|
răspuns la interogare standard 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 victorie = 0 Len=0
|
Protocolul Arp
înainte ca sistemele să poată comunica, trebuie să cunoască adresele hardware ale celuilalt. Protocolul de rezoluție a adreselor (ARP) este utilizat în acest scop. Din configurația sa, stația de lucru cunoaște adresa IP a serverului DNS.
linie # 1
Protocol: | Sursa: | destinație: | date: |
ARP | 10.0.1.13 | Broadcast | Cine are 10.0.1.1? Spune 10.0.1.13 |
stația de lucru transmite o solicitare către dispozitivele din rețeaua sa, solicitând „cine are” adresa IP cu care trebuie să comunice.
linie # 2
Protocol: | Sursa: | destinație: | date: |
ARP | 10.0.1.1 | 10.0.1.13 | 10.0.1.1 este la 00: 80: c8: 57: d3: aa |
sistemul de la distanță răspunde furnizând adresa hardware. Acum că stația de lucru cunoaște adresa hardware a sistemului la distanță, poate comunica cu acesta.
protocolul DNS
Protocolul Domain Name System (DNS) este utilizat pentru a rezolva numele de sistem la adresele IP. Când un nume de site Web este introdus într-un browser, stația de lucru trebuie să cunoască adresa IP corespunzătoare pentru a ajunge la serverul web care găzduiește site-ul.
linie # 3
Protocol: | Sursa: | destinație: | date: |
DNS | 10.0.1.13 | 10.0.1.1 | interogare Standard a www.cyberguard.com |
stația de lucru solicită serverului DNS să furnizeze adresa IP a găzduirii serverului Web www.cyberguard.com.
Linie # 4
Protocol: | Sursa: | destinație: | date: |
DNS | 10.0.1.1 | 10.0.1.13 | răspuns la interogare standard CNAME cyberguard.com A 64.94.50.88 |
serverul DNS răspunde cu adresa IP corespunzătoare www.cyberguard.com.
protocolul TCP
protocolul TCP (Transmission Control Protocol) este utilizat pentru a transfera date. Următoarele trei linii cuprind strângerea de mână TCP cu trei căi:
linie # 5
Protocol: | Sursa: | destinație: | date: |
TCP | 10.0.1.13 | 64.94.50.88 | 1939 > http |
stația de lucru inițiază conexiunea la serverul Web (SYN). SYN este o abreviere pentru ” sincronizare.”
Linie # 6
Protocol: | Sursa: | destinație: | date: |
TCP | 64.94.50.88 | 10.0.1.13 | http > 1939 |
serverul web răspunde înapoi indicând faptul că este gata pentru transmisie (SYN ACK). SYN ACK este o abreviere pentru ” sincroniza confirmare.”
linie # 7
Protocol: | Sursa: | destinație: | date: |
DNS | 10.0.1.13 | 64.94.50.88 | 1939 > http |
stația de lucru trimite la serverul web indicând faptul că începe să trimită trafic (ACK). Această confirmare indică faptul că conexiunea TCP este stabilită și traficul poate începe să curgă.
protocolul HTTP
Hyper Text Transfer Protocol (HTTP) este folosit pentru a servi pagini Web. Puteți vedea dovezi în acest sens de la adresa site-ului web din browserul dvs. (adică http://www.cyberguard.com).
Linie # 8
Protocol: | Sursa: | Destinație: | Date: |
HTTP | 10.0.1.13 | 64.94.50.88 | GET / HTTP/1.1 |
browserul deschide o conexiune la serverul Web.
linie # 9
Protocol: | Sursa: | destinație: | date: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP / 1.1 200 OK |
serverul web acceptă conexiunea.
Linie # 10
Protocol: | Sursa: | Destinație: | Date: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP continuare |
liniile de continuare HTTP reprezintă locul în care este trimis conținutul paginii html. Acesta include text, link-uri etc.
înapoi la protocolul TCP
linie # 11
Protocol: | Sursa: | destinație: | date: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq = 388864 Ack = 37076821 victorie = 8241 Len=0 |
această linie este de fapt repetată de patru ori. Stația de lucru recunoaște ultimul pachet.
linia # 12 (Prima)
Protocol: | Sursa: | destinație: | date: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq = 388864 Ack = 37077089 victorie = 0 Len=0 |
stația de lucru trimite o resetare, distrugând efectiv conexiunea TCP.
Tcpdump și Ethereal
este important să rețineți că tcpdump va oferi detalii diferite în funcție de locul în care rulează în rețeaua dvs. În acest exemplu, tcpdump a fost rulat pe interfața internă a firewall-ului cu o stație de lucru conectată direct. Dacă tcpdump ar fi utilizat pentru a monitoriza același flux de trafic pe interfața externă, adresa IP sursă ar apărea ca interfață externă a firewall-ului, cu condiția ca traducerea dinamică a adresei de rețea (DNAT) să fie în vigoare. Pentru a observa cum curge traficul proxy, este logic să rulați tcpdump atât pe interfețele interne, cât și pe cele externe, deoarece proxy-ul acționează ca un intermediar între sursă și destinație.
sursa tabelului a fost un fișier tcpdump vizualizat prin eteric. Sintaxa exactă utilizată a fost: „tcpdump-vvpni dec1-s1514-w /arhivă2/dec1.dmp gazdă 10.0.1.13”. Comanda tcpdump are opțiuni extinse pentru înregistrarea fluxului de trafic foarte specific (adică sursă/destinație, porturi și expresii booleene). Pentru mai multe informații, introduceți „Man tcpdump” pe linia de comandă. Versiunea Windows este Windump (http://windump.polito.it).
Ethereal este un instrument bun pentru a vizualiza fișierele tcpdump. Este disponibil gratuit de la http://www.ethereal.com.
este posibil ca unele dintre porturile prezente într-un tcpdump să nu vă fie cunoscute. Cea mai recentă listă de numere de port poate fi găsită la http://www.iana.org/assignments/port-numbers (per RFC 3232).