SUMARIZAREA SI VIZUALIZAREA CAPTURILOR DE [611660]
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
DEPARTAMENTUL C ALCULATOARE
SUMARIZAREA SI VIZUALIZAREA CAPTURILOR DE
TRAFIC DIN REȚEA PENTRU ANALIZA SECURITĂȚII
LUCRARE DE LICENȚĂ
Absolvent: [anonimizat]ő Emmánuel BÁN
Coordonator
științific: S.l.dr.ing. Ciprian Pavel OPRIȘA
2020
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
DEPARTAMENTUL C ALCULATOARE
DECAN, DIRECTOR DEPARTAMENT,
Prof. dr. ing. Liviu MICLEA Prof. dr. ing. Rodica POTOLEA
Absolvent: [anonimizat]ő E mmá nuel BÁN
SUMARIZAREA SI VIZUALIZAREA CAPTURI LOR DE TRAFIC DIN REȚEA
PENTRU ANALIZA SECURITĂȚII
1. Enunțul temei: Analizarea datelor dintr -o captură de rețea și sumarizarea lor,
încât acestea să fie ușoare de citit pentru orice utilizator
2. Conținutul lucrării: (enumerarea părților componente) Exempl u: Pagina de
prezentare, aprecierile coordonatorului de lucrare, titlul capitolului 1, titlul
capitolului 2,… titlul capitolului n, bibliografie, anexe – NO IDEEEEEEAAAAA .
3. Locul documentării : Universitatea Tehnică din Cluj -Napoca, Departamentul
Calculato are
4. Consultanți :
5. Data emiterii temei: 1 noiembrie 201 9
6. Data predării: 8 iulie 2020
Absolvent: ____________________________
Coordonator științific: ____________________________ Commented [c1]: se va completa data predării
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
DEPARTAMENTUL C ALCULATOARE
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
DEPARTAMENTUL C ALCULATOARE
Declarație pe proprie răspundere privind
autenticitatea lucrării de licență
Subsemnatul(a) _______________________________________________________
_________________________________________________________________ ,
legitimat(ă) cu _______________ seria _______ nr. ___________________________
CNP _______________________________________________ , autorul lucrării
________________________________________________________________________
________________________________________________________________________
____________________________________________elab orată în vederea susținerii
examenului de finalizare a studiilor de licență la Facultatea de Automatică și
Calculatoare, Specializarea ________________________________________ din cadrul
Universității Tehnice din Cluj -Napoca, sesiunea _________________ a a nului universitar
__________, declar pe proprie răspundere, că această lucrare este rezultatul propriei
activități intelectuale, pe baza cercetărilor mele și pe baza informațiilor obținute din surse
care au fost citate, în textul lucrării, și în bibliograf ie.
Declar, că această lucrare nu conține porțiuni plagiate, iar sursele bibliografice au
fost folosite cu respectarea legislației române și a convențiilor internaționale privind
drepturile de autor.
Declar, de asemenea, că această lucrare nu a mai fost pr ezentată în fața unei alte
comisii de examen de licență.
In cazul constatării ulterioare a unor declarații false, voi suporta sancțiunile
administrative, respectiv, anularea examenului de licență .
Data
_____________________ Nume, Prenume
__________ _____________________
Semnătura
Instrucțiuni generale
De citit înainte (această pagină se va elimina din versiunea finală) :
1. Cele trei pagini anterioare (foaie de cap ăt, foaie sumar , declarați e) se vor lista pe foi
separate (nu față -verso) , fiind incluse în lucrarea l istată. Foaia de sumar (a doua)
necesită semnătura absolventului, respectiv a coordonatorului. Pe declarație se trece
data când se predă lucrarea la secretarii de comisie.
2. Pe foaia de capăt, se va trece corect titulatura cadrului didactic îndrumător (consu ltați
pagina de unde ați descărcat acest document pentru list a cadrelor didactice cu
titulaturile lor ).
3. Documentul curent a fost creat în MS Office 2007. Dacă folosiți alte versiuni e
posibil sa fie mici diferențe de formatare, care se corectează (textul c onține descrieri
privind fonturi, dimensiuni etc.).
4. Cuprinsul începe pe pagina nouă, impară (dacă se face listare față -verso) , prima
pagina din capitolul Introducere tot așa, fiind numerotată cu 1. Pentru actualizarea
cuprinsului, click dreapta pe cuprins (zona cuprinsului va apare cu gri), Update field –
>Update entire table .
5. Vizualizați (recomandabil și în timpul editării) acest document după ce activați
vizualizarea simbolurilor ascunse de formatare ( apăsați simbolul din
Home/Paragraph ).
6. Fiecare capitol începe pe pagină nouă, datorită simbolului ascuns Section Break (Next
Page) care este deja introdus la capitolul precedent. Dacă ștergeți din greșeală
simbolul, se reintroduce (Page Layout -> Breaks ).
7. Folosiți stilurile predefinite (Headings, Figura, Tabel , Normal, etc.)
8. Marginile la pagini nu se modifică (Office 2003 default).
9. Respectați restul instrucțiunilor din fiecare capitol.
i
Cuprins
Capitolul 1. Introducere – Contextul proiectului (Heading 1 style) ……… 1
1.1. Contextul proiectului (Heading 2 style) ………………………….. ………………………… 1
1.1.1. (Heading 3 style) ………………………….. ………………………….. ……………………. 1
Capitolul 2. Obiectivele Proiectului ………………………….. …………………………. 3
Capitolul 3. Studiu Bibliografic ………………………….. ………………………….. …… 4
Capitolul 4. Analiză și Fundamentare Teoretică ………………………….. ……… 5
4.1. Rețelele de calculatoare ………………………….. ………………………….. ………………… 5
4.2. Capturi de trafic din rețea ………………………….. ………………………….. ………………. 6
4.3. Wireshark ………………………….. ………………………….. ………………………….. ………. 7
4.4. TShark ………………………….. ………………………….. ………………………….. …………… 7
4.5. PyShark ………………………….. ………………………….. ………………………….. …………. 8
4.6. Python ………………………….. ………………………….. ………………………….. …………… 9
4.6.1. Python vs Java ………………………….. ………………………….. …………………….. 10
4.6.2. Python vs JavaScript ………………………….. ………………………….. …………….. 10
4.6.3. Python vs Perl ………………………….. ………………………….. ……………………… 10
4.6.4. Python vs Tcl ………………………….. ………………………….. ………………………. 10
4.7. Qt și Pyside2 ………………………….. ………………………….. ………………………….. …. 11
4.8. Porturile dispozitivelor din rețea ………………………….. ………………………….. …… 11
4.9. Protocoalele de comunicare in rețea ………………………….. ………………………….. . 12
4.9.1. Modelul OSI ………………………….. ………………………….. ……………………….. 13
4.9.2. Modelul TCP/IP ………………………….. ………………………….. …………………… 14
Capitolul 5. Proiectare de Detaliu si Implementare ………………………….. .. 17
5.1. Diagrama cazurilor de utilizare ………………………….. ………………………….. …….. 17
5.2. Diagrame de activitate ………………………….. ………………………….. ………………… 18
5.2.1. Rapoarte generale ………………………….. ………………………….. ………………… 18
5.2.2. Rapoarte despre detecții ………………………….. ………………………….. ………… 19
5.2.3. Schema completa ………………………….. ………………………….. …………………. 20
5.2.4. Schema simplificată ………………………….. ………………………….. ……………… 21
5.2.5. Statistici ………………………….. ………………………….. ………………………….. …. 22
5.2.6. Închidere ………………………….. ………………………….. ………………………….. … 23
Capitolul 6. Testare și Validare ………………………….. ………………………….. …. 24
ii
Capitolul 7. Manual de Instalare si Utilizare ………………………….. …………. 25
Capitolul 8. Concluzii ………………………….. ………………………….. ………………… 26
Bibliografie ………………………….. ………………………….. ………………………….. ……. 27
Anexa 1 (dacă este necesar) ………………………….. ………………………….. ……….. 28
Capitolul 1
1
Capitolul 1. Introducere – Contextul proiectului (Heading 1 style)
Titlul capitolului se bazează pe Heading 1 style, numerotat cu o cifra (x . Nume
capitol), font Times New Roman de 14, Bold.
Ce se scrie a ici:
Contextul
Conturarea domeniului exact al temei
reprezintă cca. 5% din lucrare
1.1. Contextul proiectului (Heading 2 style)
Fontul folosit implicit în acest document este Ti
mes New Roman, dimensiune de 12, conform Normal style , cu spațiere la 1 rând
(Parag raph, Line spacing de 1.0) și Justify .
Pentru prima linie din fiecare paragraf se folosește indentare (implicit in Normal
Style ), iar între paragrafe succesive nu se lasă distanță suplimentară.
1.1.1. (Heading 3 style)
Fiecare tabel introdus în lucrare este num erotat astfel: Tabel x.y, unde x reprezintă
numărul capitolului iar y numărul tabelului din capitol. Se lasă un rând liber între tabel și
paragraf ul anterior, respectiv posterior .
Tabel 1.1 (Insert caption ->Tabel)
Times new
roman ( 12) xxxx xxxx xxxx
Fiecare figură introdusă în text este citată (de ex: în figura x.y este prezentată … )
și numerotată. Numerotarea se face astfel Figura x.y unde x reprezintă numărul
capitolului iar y numărul figurii în acel capitol. Folosiți (Insert caption ->Figura).
Figura 1.1 Numele figurii (insert ->reference ->caption ->Figura)
Fiecare capitol începe pe pagină nouă.
Capitolul 1
2
Capitolul 2
3
Capitolul 2. Obiectivele Proiectului
În acest capitol se prezin tă tema propriu zisă (sub forma unei teme de
proiectare/cercetare, formulată exact, cu obiective clare – 2-3 pagini și eventuale figuri
explicative) .
Reprezintă cca. 10% din lucrare.
Capitolul 3
4
Capitolul 3. Studiu Bibliografic
Capitolul 5
5
Capitolul 4. Analiză și Fundamentare Teoretică
În acest p roiect am abordat o modalitate de analizare și sumarizare a traficului
prezent într -o captură de trafic din rețea. După analiza datelor prezente în captură scopul
este afișarea detaliilor importante într -un mod cât mai prietenos pentru un utilizator care
are nevoie de informații legate de securitate.
4.1. Rețelele de calculatoare
Pentru abordarea acestei soluții am avut nevoie de cunoștințe din mai multe
domenii. Un prim aspect crucial pentru rezolvarea acestui proiect este cunoașterea
elementelor legate de com ponența și modul de funcționare al rețelelor de calculatoare. Ce
este o rețea de calculatoare?
Sursa [1] explică pe larg necesitatea și modul de apariție al rețelelor de
calculatoare. Societățile aveau un anumit număr de calculatoare, care lucrau independe nt.
Cu timpul, a apărut nevoia partajării datelor și a componentelor hardware între utilizatori.
Conectarea calculatoarelor între ele, cu ajutorul unor dispozitive auxiliare a dat naștere
rețelelor de calculatoare.
La sursa [2] se găsește următoarea defin iție: ”O rețea de calculatoare (engleză:
computer network) leagă între ele o mulțime mai mică sau mai mare de calculatoare,
astfel încât un calculator poate accesa datele, programele și facilitățile sau resursele unui
alt calculator conectat la aceeași reț ea. De obicei este nevoie de restricție/siguranță a
accesului.”
Calculatoarele componente dintr -o rețea trebuie să fie legate între ele. Pentru asta
s-au inventat diferite metode de conectare a dispozitivelor între ele și, încă se continuă
dezvoltarea ace stui aspect crucial din rețelele de calculatoare. Legarea dispozitivelor,
după cum spune și numele, se poate face fizic, însă au fost inventate și metode de
conectare a dispozitivelor fără a folosi fire. Cablurile metalice și fibra optică sunt
principalele modalități de legare fizică a dispozitivelor prezente într -o rețea. Tehnologia a
avansat mult, ajungându chiar la cablări submarine cu viteze foarte mari. A doua
categorie de conectare a dispozitivelor este cea fără fir. Acest tip de legătură se poate
realiza cu ajutorul undelor radio (exemplu Bluetooth, Wi -Fi, WiMax), razelor infraroșii
(exemplu IrDA) sau cu ajutorul sateliților.
Cel mai uzual tip de rețea este rețeaua stea, în care există un calculator performant
(server), care are sarcina de a transfera datele în interiorul rețelei, dar și în afara ei.
Dispozitivele se pot conecta la rețea cu ajutorul unui router sau switch. Server -ele au o
metodă de identificare unica bazată pe adrese ip.
După dimensiunea rețelelor, acestea se pot clasifica în trei tipu ri; LAN, WAN,
MAN și PAN. PAN (Personal Area Network) înseamnă o rețea de întindere foarte mică,
de maxim câțiva metri, compus din aparate interconectabile, portabile de către o persoană
(exemplu telefon mobil, aparat de navigație etc. ). Rețelele mici de calculatoare, care se
află in aceeași clădire si sunt legate direct intre ele se numesc LAN. Rețelele LAN pot fi
si fără fir ( de exemplu prin unde radio ), iar in acest caz, acestea devin rețele de tip
WLAN. Dacă o rețea este pe o întindere mai mare, cum ar fi între orașe, pe o țară, pe un
întreg continent, sau chiar pe toată lumea, atunci se numește WAN. Aceste rețele au ajuns
Capitolul 5
6
să nu mai fie așa costisitoare cum erau inițial, deoarece, la ora actuală, multe rețele de tip
WAN folosesc Internetul ca și mijlo c de comunicație. Deoarece internetul este universal
și public, acesta nu este foarte controlabil de către un utilizator, însă din punct de vedere
al prețului este foarte convenabil.
Cea mai dezvoltată rețea din internet este rețeaua World Wide Web, presc urtată
ca Web sau WWW. Fondată în 1989 la centrul European de cercetare nucleară, se
bazează pe limbajul de marcare HTML ( Hypertext Markup Language ). Se pot accesa cu
ușurință documente scrise in limbajul HTML, care poartă numele de pagini web. Acestea
prezintă suport pentru a vizualiza text, poze, videoclipuri etc.
4.2. Capturi de trafic din reț ea
Având în vedere că este nevoie de analizarea unor capturi de trafic din rețea, era
nevoie ca datele de intrare să coincidă cu acest criteriu. La sursa [3] găsim u rmătoarele
informații: captura de trafic din rețea este un termen folosit în rețealistică pentru a
intercepta pachete care trec printr -o anumită rețea. Un pachet, odată capturat este salvat
temporar pentru a putea fi analizat ulterior. Inspecția pachetelor este utilă din mai multe
puncte de vedere, în principal în diagnosticarea problemelor din rețea, sau pentru
verificarea respectării securității impuse la nivel de rețea. Atacatorii pot folosi capturarea
de pachete pentru a intercepta și fura datele care s unt transmise la nivelul rețelei de
calculatoare.
Există multiple tehnici pentru capturarea de pachete. Principala tehnică este
filtrarea pachetelor, unde se stabilesc diverse filtre, care se aplică asupra nodurilor sau
dispozitivelor din rețea de la care se capturează pachetele. De obicei, filtrele sunt niște
structuri condiționale, pe urma cărora se decide dacă se capturează sau nu pachetul. De
asemenea, în loc să se filtreze doar o porțiune din pachet, pot fi capturate și pachetele
întregi. Un pachet co mplet este compus din două părți. În tehnologia informației și a
comunicațiilor, încărcătura (payload) este partea propriu zisă de date, adică mesajul în
sine, care trebuie să fie trimis. Aceasta reprezintă prima componentă a pachetului
complet, iar a doua parte o reprezintă antelele (headers), care oferă practic identitatea
încărcăturii, cum ar fi sursa și destinația pachetului.
Există diferite metode de aplicare și utilizare a capturării pachetelor. În securitate
se pot identifica unele probleme prin af larea locului intruziunii. Analiza și monitorizarea
pachetelor ajută la determinarea punctelor unde au loc scurgeri de date. Se poate depana
capturarea de date în ideea detectării evenimentelor nedorite într -o rețea și rezolvarea
ulterioară a lor. În cazul pierderii sau furtului de date, acestea se pot recupera cu ușurință
cu ajutorul capturilor de pachete. În cazul detectării unor amenințări, viruși în interiorul
calculatoarelor, administratorul de rețea poate determina sursa problemei și opri
răspândirea /reinfectarea prin blocarea unor segmente din pachet.
Fișierele cu extensia ”.pcap” sunt descrise pe scurt la sursa [4]. Acestea sunt
asociate cu Wireshark, un program utilizat pentru analizarea rețelelor de calculatoare.
Fișierele pcap sunt fișiere de da te, create cu ajutorul programului de mai sus și conțin
datele pachetelor din rețea. În concluzie, am folosit fișiere de tip ”pcap” pentru datele de
intrate, din moment ce acestea se potrivesc exact cu tipul de date de intrare de care am
nevoie.
Capitolul 5
7
4.3. Wireshark
Odată ce traficul este salvat într -un fișier de tip pcap, este nevoie și de un
program pentru analiza acestuia. Există o multitudine de soluții disponibile, fiecare cu
avantaje și dezavantajele proprii. La sursa [5] găsim că Wireshark este o unealtă foa rte
populară open -source, care este capabilă să recunoască și să decodeze sute de protocoale.
Pe lângă acestea, dispune și de câteva funcții mai particulare, utile în analiza și inspecția
avansată a pachetelor, cum ar fi filtrarea, reconstruirea conexiunil or TCP sau a apelurilor,
decriptarea traficului, sau extragerea datelor. De asemenea, există o comunitate wasta pe
internet care folosește Wireshark, deci se găsesc și multe cursuri online, manuale și seturi
de date. În ciuda acestor beneficii, este necesa ră o cunoaștere avansată și în detaliu a
protocoalelor TCP/IP, principiilor în rețele și este nevoie și de câteva calități analitice din
partea utilizatorilor programului.
Figura 4.1 [6] Exemplu de captura d e trafic din retea in Wireshark
4.4. TShark
După ce scrie la sursa [7], la fel ca și Wireshark, TShark este o unealtă de analiză
la nivel de rețea. Printre altele, facilitățile de bază sunt posibilitatea de a captura datele
dintr -o rețea, dar și de a citi pa chetele dintr -o captură deja salvată. Se aseamănă cu
Capitolul 5
8
Wireshark, dar și cu tcpdump, iar în cazul rulării fără argumente, va funcționa exact ca și
a doua unealtă menționată, capturând traficul din prima interfață de rețea disponibilă, și
afișând un sumar în metoda standard pentru output .
Figura 4.2 [8] Exemplu de catura de trafic din retea cu TShark
4.5. PyShark
Acum este timpul să trag concluziile. Dacă Wireshark este un tool cu interfața de
utilizator și destu l de prietenos, TShark nu mai este așa, deoarece se poate folosi prin
comenzi. Cum, pentru ușurință, Python a tins să înlocuiască Bash, așa și PyShark are de
gând să ușureze utilizarea TShark. PyShark este un strat învelitor peste TShark, astfel
încât îi s implifica mult modul de utilizare, permițându -i integrarea și în Python. Dintre
toate modulele care se ocupă cu parsare de pachete, acesta este printre cele mai bune,
deoarece nu parsează la propriu niciun pachet, ci, după cum am spus și mai sus, pur și
simplu folosește TShark pentru a exporta fișiere XML. Modulul permite utilizarea tuturor
facilitaților Wireshark, de la înregistrarea traficului, până la analizarea lui. Principiul de
funcționare al PyShark este pe baza creării unui obiect de tip ”Capture”, unde acesta
poate fi în timp real, local, sau de la distanță, sau un fișier de tipul capturii de rețea. Se
face citirea din sursa datelor de intrare, iar apoi se poate itera printre pachetele rezultate.
De asemenea, se pot defini filtre pe pachete, astfel încât să iasă doar unele dintre ele din
etapa de prelucrare, sau să fie salvate doar o parte dintre ele în cazul analizei traficului în
timp real.
Capitolul 5
9
4.6. Python
Cartea [11] descrie destul de bine Python, spunând că este un limbaj de
programare interpretat, de n ivel superior orientat pe obiecte și are o semantică dinamică.
În 1991 Guido van Rossum a inventat acest limbaj, primind numele după grupul
umoristic “Monty Python” din Marea Britanie. Este foarte ușor de utilizat în dezvoltarea
rapidă a diferitelor aplica ții datorită structurilor de date de calitate înaltă, scrierea
dinamică și legarea acestora. De asemenea, este foarte flexibil, de aceea permite
obținerea multor rezultate, fie ele mici sau mari. Python poate fi utilizat pentru scrierea
programelor simple, însă este capabil și de crearea operațiilor complexe, utilizate de
companiile de la nivel global. Acest limbaj poate fi combinat și cu limbaje de scripting.
Codul scris în Python poate fi întreținut cu ușurință, datorită lizibilității codului. Există
suport și pentru tehnici de modularizare a proiectelor, astfel este facilitată reutilizarea
codului scris. Oferă un nivel ridicat de productivitate și, iar ciclul de scriere -testare –
depanare este cât se poate de eficient și rapid. La ora actuală, Pyton este f oarte răspândit
în lume, reușind să fie aplicat cu succes în rândul multor domenii, cum ar fi matematica,
dezvoltarea jocurilor și a aplicațiilor desktop, analiza complexă a datelor, dezvoltarea
internetului etc.
De asemenea, Python este un pachet software gratuit, pe care îl suportă
majoritatea sistemelor de operare principale, cum ar fi Windows, Linux, Mac. Acest
limbaj de programare vine în două versiuni (2 și 3), respectiv toate subversiunile lor.
Diferența dintre acestea este minimală, adică mici difer ențe sintactice, motiv pentru care
se poate realiza cu ușurință trecerea între versiuni, fără mari bătăi de cap. Versiunea
recomandată este, totuși, cea mai recentă, adică 3, deoarece, începând din 2020, versiunea
2 nu mai primește suport și actualizări. Î n general cele mai noi versiuni sunt si cele mai
bune, având în vedere că au la mijloc muncă în plus pentru a fi dezvoltate, ceea ce
include funcții suplimentare, corecții de erori si bug -uri etc.
Pe pagina web [12] se găsesc câțiva statistici interesante despre acest limbaj de
programare. De doi ani la rând Python este în top cele mai populare limbaje de
programare din lume, având o creștere foarte mare, în unele rapoarte ajungând chiar pe
locul unu ca cel mai dorit limbaj de programare. Există extrem de m ulte locuri de muncă,
datorită faptului că Python este un limbaj de programare universal, fiind capabil să se
descurce cu foarte multe lucruri. Aceste locuri de muncă sunt sș foarte bine plătite. Pe
platforma Goro (o platforma care se ocupa cu analitizarea tehnologiei și salariilor,
limbajul de programare Python este pe locul doi în Statele Unite ale Americii din punct
de vedere al salariilor oferite programatorilor. Salariul mediu pe care îl primește un
expert Python este 103.492 dolari pe an, iar în altă ordine de idei, lunar sunt publicate în
medie 7.732 anunțuri prin care se dorește găsirea unor experți Python. Influențele au
ajuns și în România, unde din ce în ce mai multe firme de programare caută persoane
care să cunoască cât mai bine posibil limbajul de programare Python. În comparație cu
alte limbaje de programare, Python se descurcă foarte bine ca și performante. Totuși, de
obicei, alegerea limbajului de programare se face de către conducerea firmei, având in
vedere unele limitări care sunt impuse d e către costuri, disponibilitate, pregătirea echipei
sau investițiile. Python, comparativ cu alte limbaje de programare se descurcă în felul
următor:
Capitolul 5
10
4.6.1. Python vs Java
Programele care sunt scrise în Python sunt în general mai lente decât acelea care
sunt scri se în Java, în schimb, timpul necesar dezvoltării codului respectiv este mult mai
redus în cazul limbajului de programare Python. Pentru a scrie același cod în Python
versus Java, timpul de dezvoltare este aproximativ de la trei până la cinci ori mai redus în
favoarea lui Python. Sunt mai multe avantaje datorită cărora Python câștigă teren din
punct de vedere al vitezei de dezvoltare a unui proiect, printre care se enumeră pe prima
poziție tipurile de date încorporate de nivelul superior și scrierea dinamic ă. Programatorii
Python nu trebuie să piardă timpul selectând tipurile de date ale variabilelor din programe
sau ale argumentelor din funcții. În același timp, Python dispune și de liste și dicționarele
polimorfice și suport sintactic puternic. Toate acest ea fiind gata incluse în limbaj. Chiar
dacă aceste două limbaje de programare sunt într -un fel rivale, ele pot alcătui împreună
un duo strălucit în ideea implementării unui proiect mai complex. Componentele pot fi
dezvoltate în Java, iar legarea lor se poa te face cu ușurința în Python.
4.6.2. Python vs JavaScript
În Python și JavaScript sunt echivalente subseturile care sunt bazate pe obiecte.
Încă un aspect comun este acela că ambele limbaje susțin o metodă de programare cu
funcții și variabile simpliste, fără a fi nevoie de definirea unor clase. Totuși, pentru
proiecte mai mari se poate că Python să fie mai potrivit, deoarece clasele și reutilizarea
codului sunt deja importante în această situație, iar Python este puțin peste JavaScript din
acest punct de vedere.
4.6.3. Python vs Perl
Ca și fundal și caracteristici, aceste două limbaje sunt destul de asemănătoare, fără
a fi mari diferențe între ele. Pe de altă parte, filosofia lor este total diferită. Cât timp
Python se axează pe suportul pentru metodologiile comune în p rogramare și tinde să ajute
programatorii să dezvolte un cod cât se poate de lizibil, datorită oferirii notațiilor
elegante, dar nu exagerate, Perl se axează pe suportul oferit taskurilor destinate
aplicațiilor obișnuite, cum ar fi acelea cu expresii regul ate care trebuie să fie încorporate,
scanarea de fișiere și metode de generare de rapoarte. În concluzie, Python este mai ușor
de utilizat decât Perl, motiv pentru care am ales să îl folosesc în proiect.
4.6.4. Python vs Tcl
Tcl se poate folosi ca și limbaj de pr ogramare pentru dezvoltarea de aplicații, dar
nu este exclusă nici utilizarea lui ca și limbaj de programare independent. Python poate fi
folosit în același mod, deci din acest punct de vedere cele două se aseamănă. Tcl își
depozitează datele sub forma uno r șiruri, iar acest aspect poate duce la o execuție mai
lentă a codului și o structură mai slabă a acestuia, raportat la Python. În același timp, Tcl
nu este prea fezabil cu dezvoltarea unor proiecte mari, deoarece nu are un set complet de
date, ci doar co mponentele din limbajul C++, ceea ce duce la un cod mai complicat, nu la
fel de curat cum s -ar scrie în Python. În concluzie, în Python ar fi mai ușoară dezvoltarea
unei aplicații decât în Tcl.
Capitolul 5
11
4.7. Qt și Pyside2
În cartea [10] este prezentat Qt ca fiind un f ramework pentru dezvoltarea
aplicațiilor desktop, mobile si embedded. Platformele suportate sunt destul de multe,
printre care putem găsi Linux, OS X, Windows, Android, Blackberry, iOS și multe altele.
Fiind un framework, nu este un limbaj de programare, c i are nevoie de un limbaj de
programare cu ajutorul căruia să funcționeze. Qt este scris în C++, însă a fost adaptat la
mai multe limbaje, cum ar fi și Python. Preprocesorul este MOC (Meta Object Compiler)
și se folosește la extinderea limbajului C++ cu al te caract eristici, precum semnale și
sloturi. Înainte de compilare, MOC analizează fișierul C++ extins cu Qt și unde este
nevoie auto -generează codul necesar în C++. Compilarea se poate face cu orice
compilator standard pentru C++, cum ar fi GCC, MinGW și altele. D ezvoltarea Qt a
început în 1990 de către doi programatori norvegieni pe nume Eirik Chambe -Eng și
Haavard Nord.
Acest framework vine cu o serie de avantaje, printre care se enumeră viteza și
încrederea în dezvoltarea interfețelor. De asemenea, Qt este cel m ai simplu framework
din această categorie. Qt este cross -platform, adică codul scris pe Linux este compatibil și
cu Windows sau Mac OS X, iar portarea lui nu ar trebui sa reprezinte problemă.
Utilizarea mai multor librării și framework -uri în dezvoltarea u nei interfețe poate cauza
instabilitate și complicații, însă Qt este capabil să facă multe lucruri, deși este doar un
framework.
PySide2 este un wrapper peste unealta de proiectare grafică Qt, deci are rolul de a
face legătura între acestea două. De aseme nea, PySide2 este dezvoltat de către The Qt
Company prin proiectul Qt for Python și are ca scop portarea de la Qt4 la Qt5 pentru
PySide. Este o alternativă pentru pachetul de librării Tkinter. Ca și Qt original, PySide2
este de asemenea o soluție gratuită. În ultimele versiuni se folosește un generator de
legături pe nume Shiboken, pentru a reduce dimensiunile fișierelor binare. PySide a
început în august 2009, fiind lansat de către Nokia. Sunt suportate multe sisteme de
operare, precum Linux, OS X, Windows , Android etc.
4.8. Porturile dispozitivelor din reț ea
Pe pagina web [14] porturile sunt descrise ca fiind niște terminale de comunicații
în domeniul rețealisticii. Pe de altă parte, în domeniul sistemelor de operare, porturile
sunt caracterizate ca niște cons trucții logice, capabile să identifice unele procese anume
sau sunt tip de serviciu de pe rețea. Porturile sunt identificate pentru fiecare protocol și
combinație de adresa printr -un șir de 16 biți fără semn. Acești 16 biți se numesc și
numărul portului. P rincipalele protocoale de transmisie de date, adică TCP (Transmission
Control Protocol) și UDP (User Datagram Protocol) utilizează numarul portului. De
asemenea, acest număr este întotdeauna asociat cu o adresă IP care aparține gazdei și un
protocol prin c are se dorește să se realizeze comunicarea. Unele numere de porturi sunt
deja rezervate pentru diferite servicii, astfel încât să se faciliteze comunicarea cu o
anumită aplicație care folosește protocoalele des întâlnite. Primele 1024 numere sunt
rezervate pentru aceste servicii populare și intră la categoria numerelor porturilor bine
cunoscute. În schimb, porturile cu un număr mai mare decât 1024 se numesc porturi
efemere și sunt permise pentru uz general în diferite aplicații. În momentul utilizării unui
serviciu, are loc o etapă de multiplexare a porturilor, astfel încât, în funcție de portul pe
Capitolul 5
12
care se face comunicarea, se poate redirecționa utilizatorul către serviciul aferent, chiar
dacă toate serviciile dintre care se alege cel dorit sunt pe aceeași a dresă de rețea. Pe
modelul aplicației pentru latura utilizatorilor, pot rula multiple sesiuni de comunicații
pentru același serviciu.
După cum am descris mai sus numărul portului, acesta este un șir de 16 biți, care
formează un întreg fără semn, deci limit a lui de valori se întinde de la 0 până la 65535. În
cazul valorii 0 pentru numărul portului, pentru protocolul TCP valoarea este rezervată,
însă, pentru protocolul UDP valoarea 0 înseamnă că nu este specificat portul, deoarece, în
acest caz, este opțional ă specificarea lui. Canalele de intrare sau ieșire sunt asociate cu un
proces cu autorul unui socket pe internet. Socket -ul este un tip de descriptor pentru
fișiere, care are în compoziție un protocol de transport, o adresă IP și un număr de port.
Aceasta este metoda de legare, deci, în concluzie, procesul va avea posibilitatea de
transmisie de date prin rețea. Componenta software a sistemului de operare care se ocupa
de rețea are atribuția de a trimite către rețea datele de pe toate porturile aplicațiilor și,
când sosesc răspunsuri la pachetele trimise, să le distribuie în funcție de IP și număr de
port procesului căruia i -au fost trimise. În cazul protocolului TCP este permisă cuplarea
unui singur proces pe combinația unei adrese IP și un port specific. U neori apar conflicte
chiar din această cauza, deoarece mai multe procese încearcă sa se conecteze la portul cu
același număr, pe aceeași adresă IP, folosind același protocol. De obicei, aplicațiile care
implementează servicii comune, utilizează porturi cu valori bine cunoscute, pentru a avea
facilitatea primirii cererilor de servicii de la clienți. Practic, acest proces se numește
”ascultare” și implică primirea pachetelor pe porturi bine cunoscute, ca pe urmă să se
poată stabili o conexiune unu la unu cu c lientul, utilizând același port local. Între timp, se
mai pot conecta și alți clienți la portul pe care asculta procesul, dar nu vor interveni
conflicte totuși. Asta se întâmplă deoarece conexiunile TCP au structura unei tuple cu 4
elemente: adresa locală , portul local, adresa destinației și portul destinației. Serviciile de
bază din rețea de obicei, cum ar fi de exemplu WWW (World Wide Web), folosesc
porturi bine cunoscute. Deseori, pentru conectarea unei aplicații la porturi bine cunoscute
este nevoie de privilegii speciale, deoarece în majoritatea timpului, acestea sunt foarte
importante pentru buna funcționare a internetului, iar orice modificare ar avea loc la
modul lor de funcționare, ar putea avea rezultate critice asupra rețelei. În general clienții
sunt redirectați către niște porturi cu valoare mare, alocate pentru un timp relativ scurt.
Acestea se numesc porturi efemere, după cum le -am descris și mai sus pe scurt.
4.9. Protocoalele de comunicare in reț ea
Pe pagina web [1 5] este o descriere a protocoal elor din retea. Un protocol este un
set de reguli care orchestreaza comunicatiile dintre dispozitive intr -o retea. Regulile
includ si niste ghiduri pentru urmatoarele caracteristici dintr -o retea : metoda de acces,
topologii fizice permise, tipuri de cablar e, viteza de transfer a datelor. Exemplul primar
pentru modelul de comunicare intre calculatoare, utilizand protocoale pe diferite straturi
este OSI (Open Systems Interconnection). O SI este un model de referinta care este in
folosinta din anul 1983 si cont ine un set de nivele standard si protocoale pentru
comunicarea intre mai multe calculatoare plasate oriunde in lume. Chiar daca nu este
adoptat la nivel international, mare parte din OSI este considerat standard si este utilizat
in masa. Nivelele sunt impa rtite dupa impartirea sarcinilor intr -o retea. Retelele sunt
Capitolul 5
13
divizate intr -o ierarhie de protocoale, deci sarcina comunicarii prin retea este sparta in
mai multe straturi. Un protocol este un set de reguli pentru facilitarea comunicarii in
interiorul unui nivel . Un serviciu este ceea ce un nivel ii trimite nivelului de asupra lui
prin intermediul unei interfete. Protocoalele de la un anumit nivel nu sunt constiente de
problemele de la alt nivel .
4.9.1. Modelul OSI
Modelul de referinta OSI organizeaza o retea in sa pte nivele . Acestea se mai
numesc si stiva de protocoale. Aceste nivele au rolul de a defini cum trebuie
componentele hardware si software sa transmita datele in interiorul retelei. Atunci cand
intre stivele de protocoale a doua dispositive diferite exista compatibilitate, apare
interoperabilitatea, practice scopul definirii unui model standard de protocoale. Fiecare
nivel este capabil de a comunica cu nivelul corespunzator din componenta altui
dispozitiv.
Nivelele componente modelului de referenta OSI, dup a cum ziceam si mai sus,
sunt sapte la numar si sunt urmatoarele:
Physical Layer (Nivelul Fizic ) – Acest nivel are de a face, dupa cum ii
spune si numele, cu componentele fizice, adica hardware. In aceasta
categorie intra elemente precum voltajele, rata de biti, frecventele etc. In
concluzie, nu este vorba propriu zis de componentele fizice din mediu,
cum ar fi firele metalice si de fibra optica. Aceste componente nu au un
nivel propriu zis, deoarece sunt sub componentele nivelului fizic. Regulile
nvielului pot fi inregistrate in cardul interfetei de retea a calculatorului
(NIC – Network Interface Card) , adica locul unde se face conexiunea cu
firele. In concluzie, cardurile interfetei de retea, releele si hub -urile
opereaza primar in nivelul fizic al modelul ui.
Data -Link Layer (Nivelul Legatura de Date) – In interiorul acestui nivel
are loc comunicarea prin cadre. Cadrele sunt bucati cu dimensiune limitata
care contin date. Nivelul Legatura de Date are posibilitatea de a efectua
verificari impotriva erorilor si de a controla rata transmisiei informatiilor.
In general, acest nivel poate fi asociat cu un cablu care are doua capete, un
emitator si un receptor. O exceptie are loc atunci cand este folosit si un
subnivel pe nume MAS (Medium Access Sublayer). Este ne voie de acest
subnivel in cazurile in care cadrele au coliziuni din cauza ca mai multe
entitati incearca sa acceseze mediul in acelasi timp. Subnivelul MAS
orchestreaza coliziunile pentru a creea cateva cadre noi, pe care restul
nivelului Legatura de Date le poate folosi. La acest nivel se intalnesc
switch -urile si puntile.
Network Layer (Nivelul Retea) – Nivelul Retea are de a face cu adresele,
iar rolul lui este de a da mai departe mesajele sau sa ruteze pachetele. Din
moment ce nu toate dispozitivele sun t conectate direct unul la celalalt, in
cazul unor pachete este nevoie de cateva hop -uri pana sa ajunga de la
sursa la destinatie. Gasirea unei rute ideale intr -o retea schimbatoare si de
dimensiuni mari este treaba nivelului retea. IP este un protocol la nivelul
retelei, iar adresele IP sunt ceea ce foloseste IP pentru a determina directia
incotro trebuie sa fie trimis un pachet. Adresarea logica la nivelul retelei si
Capitolul 5
14
rutarea au loc in nielul retea , iar d ispozitivele prezente in Nivelul Retea
sunt routerel e si switch -urile de nivelul al treilea.
Transport Layer (Nivelul Transport) – Nivelul Transport ofera transfer de
date de incredere si transparent intre dispozitivele prezente intr -o retea.
Acesta este ultimul nivel la care exista posibilitatea unei insp ectii de la un
capat la altul complete a comunicarii. Nivelul de transport are rolul de a
sparge datele in pachete pentru nivelul retea. De asemenea, are obligatia si
de a se asigura ca pachetele sunt reasamblate in ordinea corecta, mai apoi.
Probabil cea mai critica utilitate in aceasta ierarhie o reprezinta
interactiunea dintre metoda de intspectie de la un capat la celalalt, present
in acest nivel si metoda de inspectie masina – masina, prezent in nivelul
retea. TCP este un protocol de transport. TCP si IP sunt componente ale
modelului TCP/IP, nu OSI, insa despre asta voi scrie in cee ace urmeaza
mai jos. Modelul TCP/IP are success datorita acestor doua protocoale,
dupa care este si denumit, in ciuda faptului ca alte nivele sunt mia slabe
decat cele din m odelul OSI. Protocoalele TCP/IP si IPX/SPX sunt cele
doua protocoale care sunt active in nivelul transport.
Session Layer (Nivelul Sesiune) – Nivelul Sesiune furnizeaza conexiuni
intre aplicatii. Este un nivel nu prea important, iar rolul lui poate fi
implementat direct in aplicatii. Unele sisteme de operare pentru retele,
cum ar fi WindowsNT, Novell, utilizeaza acest nivel in alte scopuri, decat
cele pe care le are.
Presentation Layer (Nivelul Prezentare) – Nivelul Prezentare este si el un
nivel care deseo ri este evitat. Rolul lui este de a traduce informatiile
trimise intre aplicatii, folosind compresii si criptari. De exemplu, daca
datele de la un spreadsheep trebuiesc convertite la forma datelor de care
are nevoie o baza de date, se poate ocupa nivelul d e prezentare de aceasta
operatie.
Application Layer (Nivelul Aplicatie) – Nivelul Aplicatie contine servicii
de comunicare care include transferal de fisiere si lucrul cu mesaje, cum ar
fi Telnet, FTP si email. Poate fi privit ca o interfata cu utilizatoru l, sau cu
aplicatiile. Reprezinta in principal o interfata de lucru in care utilizatorul
este actorul si are rolul de a gestiona comunicatia intre aplicatii. Nu
trebuie sa fie confundat cu o aplicatie stand alone, ci este doar o interfata
intre componentel e dispozitivului si aplicatii.
4.9.2. Modelul TCP/IP
Suita de protocoale in internet este unica, alcatuita d in protocoale comune. Aceste
protocoale nu apartin de nicio copmanie, deci oricine este liber sa le utilizeze gratuit.
Daca e sa comparam cele doua modele, se poate observa ca modelul internet nu acopera
in totalitate cele doua nivele ale modelului OSI. In concluzie, se poate observa ca
modelul TCP/IP este independent de hardware. Din moment ce modelul TCP/IP nu
dispune de protocoale de nivel mai jos, voi in cepe cu protocoalele de mijloc.
Protocoalele de nivel de mijloc
o Nivelele de retea si transport din modelul OSI au rolul de a
transporta pachetele in interiorul internetului. In TCP/IP si in alte
Capitolul 5
15
protocoale de internet se folosesc tri tipuri de adrese pentr u
adresarea in retea.
o Adrese fizice sau hardware, utilizate in nivelul legatura de
date si nivelul fizic.
o Adresele IP, care sunt ID -uri pentru nodurile logice. Aceste
adrese sunt unice, asignate de catre un administrator, in
concordanta cu niste reguli.
o Nume de noduri logice, care pot fi asignate de catre un
administrator.
o IP (Internet Protocol) functioneaza la nivelul retea si se ocupa de
adresari, selectia rutelor, comutarea pachetelor si controlul erorilor
pentru comunicare.
o TCP (Transmission Control Pr otocol) este protocolul principal de
transport de date pe internet. De asemenea, este capabil si sa ofere
servicii de adresare la nivelul retea.
o DNS (Domain Name System) este un system distribuit de baze de
date care functioneaza la nivelul transport. Are ca scop oferirea
maparilor nume – adresa pentru clientii aplicatiei. Serverele DNS
mentin baze de date care consista in structuri ierarhice de nume
pentru gama larga de domenii , in scopul de a utiliza nume logice
pentru identificarea dispozitivelor.
Protocoalele de nivel inalt
o FTP (File Transfer Protocol) este utilizat pentru transferal de
fisiere intre nodurile din internet. De asemenea, permite
utilizatorilor sa initieze procese pe un system gazda aflat la
distanta. Acesta functioneaza in cadrul primelo r trei nivele din
modelul OSI. In primul rand, in cadrul nivelului sesiune, FTP
furnizeaza administrarea sesiunii. In cadrul nivelului prezentare,
FTP se ocupa cu translatia, utilizand o metoda de translatie
independent de masina. Nu in ultimul rand, in ca drul nivelului
aplicatie, FTP administreaza servicii in retea, cum ar fi serviciile
pentru fisiere.
o Telnet este utilizat pentru emularea terminalelor la distanta. Acesta
permite utilizatorilor accesarea aplicatiilor de pe sistemul gazdei
prin emularea unu i terminal de pe sistemul gazdei. Telnet are
posibilitatea de oferire a conectivitatii chiar si daca cele doua
dispositive au sisteme de operare diferite. In cadrul nivelului
sesiune telnet ofera control asupra dialogului, in cadrul nivelului
prezentare te lnet ofera translatie cu ajutorul ordonarii bitilor si in
functie de codurile caracterelor, iar in cadrul nivelului aplicatie
telnet ofera suport pentru operatiile de la distanta asupra unui
dispozitiv.
o SMPT (Simple Mail Transfer Protocol) este un protoco l utilizat
pentru rutarea mesajelor de tip email. Functioneaza in cadrul
nivelului aplicatie in si are rolul oferirii serviciului de mesagerie
email.
Capitolul 5
16
4.9.3. Protocoale diverse
Printre cele mai populare protocoale diverse se gasesc urmatoarele:
Serial Line Interne t Protocol – SLIP -Used with dial up
connections to the Internet. Works exclusively at the Physical
Layer of the OSI model. An older protocol that was improved
upon with PPP.
Point -to-Point Protocol – PPP – Provides dial up connectivity to
the Internet. Operates at the Physical and Data -Link Layer of the
OSI model. It provides physical device addressing and error
control.
Integrated Services Digital Network – ISDN – a set of standards
to provide voice, video and data transmission over digital
telephone lines. ISDN operates at the Physical, Data -Link,
Network and Transport layers of the OSI model.
SLIP (Serial Line Internet Protocol) – este un protocol care se
administreaza conexiuni dial -up catre internet. Functioneaza exclusiv in
cadrul nivelului fizic al modelului OSI. Este, totusi, un protocol vechi, dar
a fost imbunatatitsi noua varianta al lui este PPP.
PPP (Point -to-Point Protocol) este un protocol in mare parte cu aceleasi
caracteristici ca si SLIP. Acesta se ocupa cu furnizarea conexiunilor dial –
up catre internet. Opereaza in cadrul nivelului fizic si legatura de date al
modelului OSI. De asemenea, ofera si adresare fizica pentru dispozitive si
controlul erorilor. Este varianta imbunatatita a protocolului mentionat mia
sus, SLIP.
ISDN (Integrated Services Digital Network) este un set de standarde care
au ca scop furnizarea transmisiilor de date, voce si video prin intermediul
liniilor digitale de telefonie. ISDN opereaza in cadrul nivelului fizic,
legatura de date, retea si transport, toate din cad rul modelului OSI.
Capitolul 5
17
Capitolul 5. Proiectare de Detaliu si Implementare
5.1. Diagrama cazurilor de utilizare
Diagrama cazurilor de utilizare a aplicației conține fiecare operație pe care
utilizatorul o poate efectua în interiorul aplicației. Următoarea schemă reprezintă
diagrama cazurilor de utilizare pentru aplicația dezvoltată .
Figura 5.1 Diagrama cazurilor de utilizare
După cum se poate observa în diagrama anterioară, utilizatorul poate efectua una
dintre următoarele oper ații. În primul rând, poate vizualiza diferite rapoarte (General și
Detecții), care vor fi detaliate în diagrama de activitate. În al doilea rând, poate vizualiza
diferite scheme ale rețelei (Schema completă și Schema simplificată), care, de asemenea,
vor fi detaliate în diagramele de activitate. Pe lângă acestea, utilizatorul aplicației poate
vizualiza statistici privind traficul prezent în captura de trafic din rețea, care este de forma
unui „pie chart”. Nu în ultimul rând, utilizatorul poate încheia sesi unea de folosire a
aplicației prin operația de ieșire .
Capitolul 5
18
5.2. Diagrame de activitate
Diagrama de activitate este o diagramă car e descrie comportamentul și aspectele
dinamice ale sistemului. Acest tip de diagramă modelează trecerea de la o activitate la
alta. Sco pul diagramei este acela de a descrie coordonarea acțiunilor necesare pentru a
ajunge la un serviciu dorit, care poate fi prezent la diferite nivele de abstractizare în
cadrul aplicației .
5.2.1. Rapoarte general e
Această diagramă des crie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru vizualizarea rapoartelor generale. Așadar, acesta trebuie să selecteze opțiunea
„Reports” din bara de meniu, urmând să aleagă opțiunea „General” din dropdown -ul care
apare la selectarea opțiunii menționate anterior. După acționarea funcției butonului
menționat mai sus, va apărea rezultatul așteptat și utilizatorul va fi capabil să vizualizeze
acest tip de raport.
Figura 5.2 Diagrama de activitate pentru rapoarte generale
Capitolul 5
19
5.2.2. Rapoarte despre detecț ii
Această diagram ă descrie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru vizualizarea rapoartelor care țin de detecții. Așadar, acesta trebuie să selecteze
opțiunea „Reports” din bara de meniu, urmând să aleagă opțiunea „Detections” din
dropdown -ul care apare la selectarea opțiunii menționate anterior. După acționarea
funcției butonului menționat mai sus, va apărea rezultatul așteptat și utilizatorul va fi
capabil să vizualizeze acest tip de raport.
Figur a 5.3 Diagrama de activitate pentru rapoarte despre detecții
Capitolul 5
20
5.2.3. Schema completa
Acea stă diagramă descrie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru vizualizarea schemei complete a rețelei. Așadar, acesta trebuie să selecteze
opțiunea „Scheme” din bara de meniu, urmând să aleagă opțiunea „Network Layout” din
dropdown -ul care apare la selectarea opțiunii menționate anterior. După acționarea
funcției butonului menționat mai sus, vor apărea două butoane dintre care va fi nevoie să
fie selectat cel cu titlul ”Show Network”. După apăsarea acestui ultim buton, va apărea pe
ecran rezultatul așteptat și utilizatorul va fi capabil să vizualizeze schema.
Figura 5.4 Diagrama de activitate pentru schema completă a rețelei
Capitolul 5
21
5.2.4. Schema simplificată
Această diagramă descrie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru vizualizarea schemei simplific ate a rețelei. Așadar, acesta trebuie să selecteze
opțiunea „Scheme” din bara de meniu, urmând să aleagă opțiunea „Network Layout” din
dropdown -ul care apare la selectarea opțiunii menționate anterior. După acționarea
funcției butonului menționat mai sus, vor apărea două butoane dintre care va fi nevoie să
fie selectat cel cu titlul ”Noise Reduction”. După apăsarea acestui ultim buton, va apărea
pe ecran rezultatul așteptat și utilizatorul va fi capabil să vizualizeze schema.
Figura 5.5 Diagrama de activitate pentru schema simplificată a rețelei
Capitolul 5
22
5.2.5. Statistici
Această diagramă descrie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru vizualizarea statisticii pachetelor din captura traficului de rețea, sub forma unui
”pie-chart”. Așadar, acesta trebuie să selecteze opțiunea ”Charts” din bara de meniu,
urmând să aleagă opțiunea ”Traffic chart” din dropdown -ul care apare la selectarea
opțiunii menționate anterior. După acționarea funcției butonului menționat mai sus, va
apărea rezultatul așteptat și utilizatorul va fi capabil să vizuali zeze statisticile, împreună
cu legenda aferentă.
Figura 5.6 Diagrama de activitate pentru statistici
Capitolul 5
23
5.2.6. Închidere
Această diagramă descrie pașii pe care utilizatorul aplicației trebuie să îi urmeze
pentru a ieși din aplicație. Așadar, acesta trebuie să selecteze opțiunea ”Files” din bara
de meniu, urmând să aleagă opțiunea ”Exit” din dropdown -ul care apare la selectarea
opțiunii menționate anterior. După acționarea funcției butonului menționat mai sus,
aplicația se va închide cu succes. Alternativ, utilizatorul poate ieși din aplicaț ie pur și
simplu prin acționarea simultană a combinației tastelor ”Control” și ”Q”. Această acțiune
va avea același efect ca și cea descrisă mai sus, iar aplicația va urma să se închidă cu
succes.
Figure 5.7 Diagra ma de activitate pentru înciderea aplicatiei
Capitolul 6
24
Capitolul 6. Testare și Validare
Aproximativ 5% din total.
Capitolul 7
25
Capitolul 7. Manual de Instalare si Utilizare
In primul rand este nevoie de instalarea limbajului de programare Python. Pentrua
face asta, se poate descarca pur si simplu de pe pagina web [1 3], sau in caz ca se obitine
eroare, sea poate cauta o solutie pe internet.
Dupa inst alarea Python este nevoie de instalarea PySide2
pip install PySide2
Capitolul 8
26
Capitolul 8. Concluzii
Cca. 5% din total .
Capitolul ar trebui sa conțină (nu se rezumă neapărat la):
un rezumat al contribuțiilor voastre
analiză critică a rezultatelor obținute
descriere a posib ilelor dezvoltări și îmbunătățiri ulterioare
Bibliografie
27
Bibliografie
[
1] [Online]. Available:
https://sites.google.com/site/materialdidacpentruelevidi11m/retele -de-calculatoare.
[
2] [Online]. Available:
https://ro.wikipedia.org/wiki/Re%C8%9Bea_de_calculatoar e.
[
3] [Online]. Available: https://www.wireshark.org/docs/man -pages/tshark.html.
[
4] [Online]. Available: https://www.wireshark.org/docs/wsug_html/.
[
5] [Online]. Available: https://www.flowmon.com/getattachment/e3ffda01 -93c2 –
4c07 -bda6 -ed1a8a9bdafa/ full-packet -capture -and-analysis.aspx.
[
6] [Online]. Available: https://www.techopedia.com/definition/25333/packet –
capture.
[
7] [Online]. Available: https://www.reviversoft.com/file -extensions/pcap.
[
8] [Online]. Available: https://www.activecounterm easures.com/blog -tshark –
examples -for-extracting -ip-fields/.
[
9] G. R. J. B. Angela Orebaugh, in Wireshark & Ethereal Network Protocol
Analyzer Toolkit , Elsevier, 2006, p. 448.
Anexa 1
28
Anexa 1 (dacă este necesar)
…
Secțiuni relevante din cod
…
Alte in formații relevante (demonstrații etc.)
…
Lucrări publicate (dacă există)
etc.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: SUMARIZAREA SI VIZUALIZAREA CAPTURILOR DE [611660] (ID: 611660)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
