Sunteți pe pagina 1din 16

Laborator Retele de calculatoare – Universitatea din Craiova -

Laborator 7
Utilizarea Wireshark in analiza de pachete

- Analizator pentru pachete de retea

Sunt milioane de pachete care parcurg o retea. Dar care sunt cele care conteaza?
Care sunt cele care afecteaza reteaua si genereaza probleme de aplicatie? Folosind
un analizator de pachete, ar trebui sa puteti sa intelegeti mai bine functionalitatea
protocoalelor de retea, mai mult prin observarea secventelor mesajelor schimbate
intre doua entitati de protocol, rezultand anumite actiuni si observand consecintele
acestor actiuni.
Astfel ca servicii si protocoale importante ca ARP, Ipv4, DHCP precum UDP sau
DNS pot fi intelese in functionalitate Prin analiza traficului generat de aplicatii
bazate pe HTTP sau TLS, veti putea analiza mai bine functionlitatea acestora. In
urma acestui laborator ar trebui sa generati competentele de a putea lucra cu un
analizator de pachete (i.e. Wireshark), necesare pentru a izola si rezolva probleme
de retea

Ca o concluzie, Wireshark poate fi folosit in mai multe scopuri, insa noi o sa ne


concentram pe zona de pentru analiza de performanta.Foarte important este sa
configurati adecvat aplicatia.

Cum se downloadeaza Wireshark?


Intrati pe site-ul oficial Wireshark si selectati versiunea sistemului dvs de operare .
Pentru Windows aveti versiunea pe 32 si 64 de biti. Alegeti versiunea corecta
pentru sistemul dvs (daca este un sistem mai recent probabil aveti versiune de 64
de biti).
Laborator Retele de calculatoare – Universitatea din Craiova -

Exista si versiuni pentru Mac, Linux sau Kali Linux (in ultimul caz este o
preinstalat).

Pachete de date pe wireshark

Figura 1 Screenshot cu selectia placii de retea

Puteti selecta mai multe interfete de retea folosind „shift click stanga”. Odata ce
selectati reteaua, puteti porni captura.

Figura 2 In timpul capturii, Wireshark va arata pachetele in real time


Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 3 Screenshot setup Wireshark

Un profil este o colectie de setari. Ganditi-va la un profil ca setarile pe care


le faceti la momentul in care intrati in masina voastra. Setarea unghiului oglinzilor,
nivelul scaunelor sau radio-ul preferat. Folosind profilele, puteti sa va concentrati
pe activitati specifice (exemplu analiza de pachete TCP sau ne uitam pe protocol
VoIP – in functie de preferinte putem defini anumite coloane, culori specifice sau
filtre). In Figura 4 , este indicat optiunea de a alege un profil (click mouse stanga).

Figura 4 Setare profil


Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 5 Adaugarea unui profil

Pentru a adauga un alt profil, se apasa click dreapta si se pot adauga adauga sau
edita profilele deja existente (vezi Figura 5 si Figura 6).
In acest moment se pot observa ca avem urmatoarele campuri:
• Timp
• Sursa si Destinatie
• Protocol
• Lungime si Informatie
Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 6 Profilul UCV a fost incarcat

Vrem sa personalizam aplicatia . Putem sa marim textul, sa deplasam coloanele


si schimbam layoutul in general –ca in Figura 7. Pentru a folosi un layout
diferentiat putem sa personalizam aplicatia intrand in Preferences (conform Figura
8,Figura 9 si Figura 10)

Figura 7 Exemplu de personalizare


Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 8 Pasi pentru a ajunge la personalizare

Figura 9 Modificare pozitie Packet Bytes

Putem sa vedem valori pe diagrama daca apasam click dreapta pe diagrama si


bifam optiunea Show Field Values. Putem vedea astfel protocolul, structura
acestuia si al headerului.
Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 10 Vizualizare layout

Inserarea unei coloane de tip timp delta

In Preferences (conform Figura 8) veti adauga o noua coloana de tip delta


time display --Figura 11 . Aceasta coloana are rolul de a afisa timpul parcurs intre
pachete. Foarte folositor atunci cand urmariti evolutia pachetelor.
Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 11 Inserare unei noi coloane

Figura 12 Noua coloana DeltaTime aparuta ( nu uitati sa echilibrati coloanele)

Puteti modifica felul in care timpul este afisat intrand in View->Time


Display Format si selectand formatul de timp dorit.
Laborator Retele de calculatoare – Universitatea din Craiova -

Reguli de colorare
Pentru a intelege mai bine si totodata in scopul de a avea un management
vizual, se recomanda a va adopta un stil de culori propriu. Pentru a face acest lucru
urmati View->Coloring Rules Figura 13 si veti putea observa paleta de culori
alocate anumitor filtre - vezi Figura 14

Figura 13 Cum puteti ajunge la regulile de culori


Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 14 Reguli de culoare a profilului UCV implicit

Un prim test cu Wireshark


Cel mai rapid mod de a intelege un software nou este de a-l incerca. Presupun ca
veti fi conectat la Internet via Wifi. Desi e recomandat ca calculatorul sa fie cablat
prin Ethernet, am observat ca majoritatea dintre voi aveti laptop prin care va
conectati la internet prin Wifi.
Realizati urmatorii pasi:
1. Inchideti si deschideti browserul dvs (ex. Google Chrome). In aceasta faza ar
trebui sa aveti homepage-ul deschis.
2. Deschideti Wireshark – Nu initiati inca captura
3. Pentru a incepe captura, selectati interfata dorita (fie Wifi fie Ethernet)
4. Apasati pe respectiva interfata pentru a incepe captura. Wireshark va capta
toate pachetele care vor fi trimise / primite de la/de calculatorul dvs!
5. Puteti opta pentru oprirea capturii prin apasarea patratelui rosu din coltul
dreapta. Insa nu faceti acest lucru acum. Avem scopul de a capta pachete
care contin informatii utile. Pentru a face acest lucru este nevoie sa faceti
Laborator Retele de calculatoare – Universitatea din Craiova -

trafic pe retea. Vom face acest lucru folosind un browser, care va utiliza
protocolul HTTP .
6. Ruland in continuare Wireshark, vizitati urmatoarea pagina:
http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html
Pentru a afisa pagina, browserul dvs contacteaza serverul HTTP la
gaia.cs.umass.edu si schimba message HTTP cu serverul pentru a
downloada continutul paginii. Cadrele Ethernet ce contin mesajele HTTP
vor fi captate de Wireshark.
7. Dupa ce browserul va afisa pagina INTRO-wireshark-file1.html (e doar o
linie de felicitari), opriti captura Wireshark prin apasarea butonului rosu.
Veti avea acum date ale pachetelor care contin toate mesajele schimbate
intre calculatorul dvs si alte entitati din retea. Schimburile de mesaje HTTP
cu serverul web gaia.cs.umass.edu ar trebui sa apara in lista de pachete
captate. Chiar daca ati realiza o singura actiune de accesare a unei pagini
web, veti vedea ca sunt mult mai multe protocoale care nu sunt vizibile
utilizatorului.
8. Scrieti „http” (fara ghilimele) in filtrul central de afisare aflat in partea
superioara a ferestrei Wireshark – vezi Figura 15. Prin filtrare veti vedea
doar mesajele HTTP in fereastra cu lista de pachete.
9. Cautati mesajele dintre calculatorul dvs si serverul HTTP gaia.cs.umass.edu.
(acele pachete unde avem GET urmat de gaia.cs.umass.edu. Cand selectati
mesajul GET, veti vedea informatii suplimentare, gen cadru ETHERNET,
datagrama IP, segmentul TCP ) – vezi Figura 16
Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 15 Filtrare dupa protocol

Figura 16 Fereastra Wireshark dupa pasul 9

Retineti ca un mesaj HTTP GET care este trimis la web server este inclus
intr-un segment TCP, care este inclus (incapsulat) in datagrama IP, care este
incapsulat intr-un cadru Ethernet.
Laborator Retele de calculatoare – Universitatea din Craiova -

Exercitii introductive:
1. Prezentati 3 protocoale diferite care apar in coloana de protocoale in lista de
pachete nefiltrata (inainte de pasul 7 !)
2. Cat timp a luat ca mesajul HTTP GET sa fie trimit pana cand s-a primit
raspunsul HTTP OK? (puteti adauga coloane de timp si eventual sa
personalizati afisarea de timp in Time Display Format -> Time of day).
3. Care este adresa de Internet a lui gaia.cs.umass.edu?
4. Care este adresa de internet a calculatorului vostru?
5. Afisati doua mesaje HTTP (GET si OK) legate de intrebarea 2. Selectati
Print din cadrul meniului File si selectati Selected Packet Only si Print as
Display urmat de OK

Interactie HTTP – Wireshark


Sunteti asadar pregatiti pentru a investiga protocoale live. Vom explora
elementele legate de protocolul HTTP: interactia GET/raspuns, formatul mesajelor
HTTP, autentificarea HTTP si securitate.

Interactiune HTTP GET/raspuns


1. Deschideti browserul dvs.
2. Porniti Wireshark, dar nu porniti captura de pachete. Scrieti http, in
fereastra de afisare astfel incat sa vedem doar pachetele http (nu ne
intereseaza toate pachetele captate).
3. Asteptati un minut (vom vedea de ce) si vom porni captura Wireshark .
4. Deschideti urmatorul link:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
Ar trebui sa vedeti doar o linie simpla HTML
5. Opriti captura Wireshark.
Laborator Retele de calculatoare – Universitatea din Craiova -

Figura 17 Afisare Wireshark dupa captura paginii HTTPwireshark-file1.html

Fereastra Wireshark ar trebui sa fie similara cu cea din Figura 17.


Exemplul de mai sus ar trebui sa arata ca au fost doua mesajele HTTP captate:
mesajul GET ( de la browserul dvs la web server) si raspunsul primit de la server.
Veti vedea detalii asupra mesajului selectat (in cazul nostru mesajul HTTP OK).
De reamintit este ca mesajul HTTP a fost incapsulat in cadrul segmentului TCP,
care a fost inclus in datagrama IP, inclus mai departe in cadrul Ethernet. Wireshark
va afisa asadar cadrul, IP si informatii asupra pachetului. Dat fiind faptul ca nu ne
intereseaza datele non-HTTP, asigurati-va ca informatiile despre Frame,
Ethernet,TCP si IP au triunghiul dreapta (adica informatia este ascunsa), pe cand
linia cu mesajul HTTP este cu un triunghi in jos (adica afisam informatia). In poza
din Figura 17, toate datele sunt ascunse.

Prin analiza informatiilor oferite de mesajele HTTP, raspundeti la urmatoarele


intrebari, precum si indicati unde in mesaje ati gasit informatia. Marcati pe
screenshot unde ati gasit informatia necesara raspunsului vostru.
1. Ruleaza browserul vostru versiunea HTTP 1.0 sau 1.1? Ce versiune de
HTTP ruleaza serverul?
Laborator Retele de calculatoare – Universitatea din Craiova -

2. Ce limbi (daca este cazul) indica browserul dumneavoastra ca accepta de la


server?
3. Care este adresa IP a calculatorului dvs? Dar a serverului web?
4. Care este codul de stare returnat de server ?
5. Care este campul HTML care il obtineti la ultima modificare a serverului?
6. Cati octeti de continut au fost returnati de server?
7. Analizand datele crude din continutul de pachete, vedeti anumite headere
care nu sunt in lista de pachete? Numiti-le.

Pentru a raspunde la pct 5, este necesara asteptarea a unui minut intre acces al
browserului , astfel ca fisierul download sa apara recent modific iar browserul sa ia
o noua versiune ( in figura 17 acest lucru nu se intampla).

Obtinerea unui document lung


1. Porniti din browser, eventual eliminati cache-ul
2. Porniti Wireshark
3. Vizitati din browser:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
4. Opriti captura Wireshark, scrieti http in filtru pentru a vedea doar mesajele
HTTP captate.
In lista de pachete, veti vedea mesajele HTTP GET, urmate de un raspuns
multipachet TCP la cererea HTTP GET. Acest raspuns multipachet necesita o
serie de explicatii. Un mesaj raspuns HTTP consta intr-o linie de stare, urmata de
liniile de header, urmata de o linie goala, urmata de corpul entitatii. In cazul nostru,
corpul mesajului este intregul fisier HTML. Fiind de o dimensiune mare (aprox
4500 bytes) , nu poate sa intre intr-un pachet TCP. Astfel se va sparge in mai multe
pachete de TCP ,fiecare fiind inclusa intr-un segment separat TCP. Veti vedea
urmatoarea indicatie : “TCP segment of a reassembled PDU” la coloana INFO.
Raspundeti la urmatoarele intrebari:
1. Cate mesaje cereri HTTP GET a trimis browserul dvs? Ce numar de pachet
din captura contine mesajul GET?
2. Care este numarul pachetului din captura ce contine codul stare si fraza
asociata cu raspunsul la cererea HTTP GET?
Laborator Retele de calculatoare – Universitatea din Craiova -

3. Care este codul de stare si fraza raspunsului?


4. Cate segmente de date TCP au fost necesare pentru raspuns si pentru text?

Autentificarea HTTP
In final, vom vizita un site protejat de parola si vom examina secventa schimburile
de mesaje pentru un astfel de site. Utilizatorul este „wireshark-students” (fara
apostrof) iar parola este „network” (din nou, fara apostrof).
1. Dati clear la cache si inchideti browserul. Porniti din nou browserul
2. Deschideti Wireshark
3. Accesati urmatorul link in browser
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-
file5.html
4. Introduceti userul si parola
5. Opriti captura HTTP si introduceti http in filtru.

Raspundeti la urmatoarele intrebari:


1. Care este raspunsul serverului la cererea GET HTTP initiala a browserului
dvs?
2. Cand browserul dvs trimite mesajul HTTP GET pentru a doua oara, ce camp
nou este inclus in mesajul HTTP GET?

S-ar putea să vă placă și