Nota la RDSOS o veti primi in urma implementarii unui proiect si a unui examen scris.
Ponderea lor este urmatoarea:
Nota Finala = 60% Proiect + 40% ExamenScris
Examenul scris se va da la sfarsitul semestrului si va consta din materialul predat la curs.
Tema proiectului este: dezvoltarea unui WiFi Analyzer plus sniffer de pachete de retea pentru
interfata wireless (totul pentru un sistem desktop sau mobile).
Functionalitati ale proiectului care trebuie implementate:
- 1. WiFi Analyer-ul trebuie sa prezinte o interfata grafica de tipul
Android WiFi Analyzer
(adica sa aratati iconuri grafice pentru fiecare retea si aceste iconuri sa reflecte
puterea semnalului retelei respective - verde, galben, rosu; si sa aratati un grafic
cu cat de aglomerate sunt cele 13 canale - asa cum apare graficul de canale in Android WiFi Analyzer)
unde sa afiseze informatii despre retelele wireless detectate: SSID-ul retelei,
Access Point adresa MAC, fabricant, puterea semnalului, canalul folosit, frecventa folosita,
caracteristici de securitate/criptare a retelei. Pentru ca sa puteti captura toate
aceste date, trebuie in prealabil sa treceti interfata de retea in modul "Monitor", nu "Managed"
si sa nu fiti conectati la o retea wireless.
- 2. Sniffer de pachete de genul TCPdump sau
WireShark, dar nu asa de avansate, care sa captureze
pachete de pe interfata wireless si sa afiseze date despre ele: antet IEEE 802.11 (adresa MAC sursa
si MAC destinatie), antet IP (adresa IP sursa si destinatie si celelalte campuri), antet TCP
(port sursa si port destinatie si celelalte campuri), iar daca pachetul este HTTP (i.e. port destinatie
egal cu 80) se va afisa si continutul (payload-ul) ASCII al pachetului. Snifferul trebuie sa
functioneze si in modul "Monitor" si "Managed" al interfetei de retea wireless.
Desigur ca pentru a realiza acest proiect aveti nevoie sa apelati diverse functii ale sistemului de operare
sau wrappere peste aceste functii din biblioteci software. Dar scopul proiectului e ca aceste functii pe care le
apelati sa faca lucruri minimale. De ex., pentru captura de pachete, se poate folosi biblioteca
libpcap, dar voi trebuie sa faceti manual parsarea header-elor pachetelor (adica parsarea manuala a bytestream-ului
care contine packetul raw si impartirea lui in headere si campurile din fiecare header). Nota pe care o
veti primi pe proiect va fi proportionala cu numarul de feature-uri dintre cele de mai sus pe care le
veti impelementa si cat de multe lucruri ati facut manual (nefolosindu-va de functii externe de biblioteca).
-
3. Observatie: Pentru aplicatia WiFi Analyzer e important sa puneti placa de
retea in modul de functionare "Monitor" pentru a captura pachete de management si care au radiotap header.
Acest lucru este relativ usor in Linux, si nu la fel de usor in Windows sau MacOS (as far as I know); desigur
ca puteti implementa aplicatia pe Android asa cum e Android WiFi Analyzer, daca vreti (evident fara a copia codul).
Daca nu aveti Linux si nu vreti sa instalati Linux dual-boot sau intr-o masina virtuala, si nu puteti sa puneti placa de retea Wi-Fi
in modul de lucru "Monitor", atunci puteti sa faceti proiectul 1) WiFi Analyzer folosind o biblioteca/API
(de ex. Microsoft Windows Native WiFi API ) unde nu mai parsati voi
manual pachetele de management. Dar in acest caz (i.e. cand nu parsati voi manual pachetele de management
si nu puneti placa in modul Monitor), pentru o nota maxima trebuie sa implementati un al treilea proiect: un tool de audit
si network analysis pentru placa de retea Wi-Fi care chiar daca e in modul "Managed" sa afiseze:
- conexiunile TCP si UDP identificate prin cvadrupul [adresaIP-sursa:portSursa - adresaIP-destinatie:portDestinatie].
- sa afiseze taficul in bits/second in timp real pentru fiecare conexiune TCP/UDP (sa afiseze asta in mod grafic, nu doar text)
- sa afiseze aplicatia care foloseste acea conexiune TCP/UDP (browserul Chrome, Acrobat Reader, Microsoft Teams, etc.)
- sa afiseze detalii despre adresaIP-destinatie si portDestinatie: numele DNS al IP-ului, tipul portului (HTTP, SSH, FTP, etc.),
informatii de geolocatie pentru acest IP (tara, oras)
Acest tool trebuie sa afiseze informatiile cerute mai sus real-time si sa se updateze aceste informatii in mod real-time.
Implementarea proiectului nr 3) de mai sus nu implica faptul ca proiectul 1) WiFi Analyzer nu mai trebuie implementat.
Ca alternativa la proiect, dar cu o penalizare de 4 puncte (deci nota maxima 6 pe proiect), puteti face un referat
de 4 pagini si o prezentare legata de unul dintre articolele de
aici(care vreti voi).
Click aici
pentru programare sustinere proiect.
Proiectele pot fi predate si in sesiune, dar va fi o depunctare de 4 puncte.
Programarile sunt afisate in tabelul de mai jos:
Toate prezentarile o sa aiba loc la "Catedra", adica in cladirea centrala la centrul MOS, la subsol, sala S-10.