Echipa: Banu Teodora & Prelipcean Marius
Grupa: C113D
Port scanning-ul reprezinta actiunea prin care se poate determina ce porturi sunt deschise intr-o retea. Exista mai multe metode prin care se poate realiza acest lucru, fiecare avand avantaje si, bineinteles, dezavantaje
- TCP PORT SCANNING
- SYN PORT SCANNING
Porturile reprezinta puncte de legatura virtuale intre device-uri. Ele au rolul de a multiplexa o conexiune, adica mai multe schimburi de date pot avea loc simultan. Treaba sta cam asa:
Putem spune ca ele au fost create pentru a asigura trafic preferential diferitor servicii/aplicatii de pe un end device.
Din schema de mai sus putem intelege ca serviciile, in functie de task-ul pe care trebuie sa-l indeplineasca, sunt dependente de un anumit tip de protocol pentru asigurarea conexiunii (TCP folosit, de exemplu, pentru o aplicatie de email si UDP folosit pentru o aplicatie de live streaming). Pe baza acestui fapt putem imparti porturile in doua categorii.
While not explicitly illegal – port and vulnerability scanning without permission can get you into trouble!
Pentru a crea executabilul, rulati urmatoarele instructiuni:
chmod u+x _install.sh
./_install.sh
Pentru a sterge executabilul, rulati urmatoarele instructiuni:
chmod u+x _uninstall.sh
./_uninstall.sh
Pentru a sterge executabilul, rulati urmatoarele instructiuni:
chmod u+x _update.sh
./_update.sh
Aplicatia va rula pe masinilie cu OS Linux. Pentru a rula executabilul, utilizati:
nscan [option1, ..., optionN]
Mai multe detalii in ceea ce priveste utilizarea aplicatiei noastre mai jos:
--help <display invocation options>
--port <port to scan>
--scan <IP address to scan>
--file <file name containing IP addresses to scan>
--syn <execute a syn scan>
--ping <check if host is alive before scanning>
- help: afiseaza optiunile disponibile user-ului
- port: by default, port scanner-ul va scana porturile 0-1024, dar prin intermediul acestei comenzi va scana doar porturile specificate in command line
- scan/file: aceste optiuni dau posibilitatea user-ului sa scaneze un IP anume sau o lista de IP-uri dintr-un fisier
- syn: executa syn scan pe porturile 0-1024
- se ruleaza cu sudo!!!
- ping: verifica daca host is alive
- se ruleaza cu sudo!!!
Pentru a regasi aceste indrumari si in terminal se va utiliza una dintre urmatoarele comenzi:
nscan
sau
nscan --help
Mediu de dezvoltare:
- Ubuntu vm
- Visual Studio Code
- https://linux.die.net/man/3/socket
- https://stackoverflow.com/questions/64256922/in-socket-programming-using-c-language-how-to-set-time-limit-on-server-for-acce
- https://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=apis-gethostbyaddr-get-host-information-ip-address
- http://www.qnx.com/developers/docs/qnxcar2/index.jsp?topic=%2Fcom.qnx.doc.neutrino.lib_ref%2Ftopic%2Fh%2Fhostent.html
Optiuni functionale:
nscan
nscan --help
nscan --scan 8.8.8.8 #or any other IP address
nscan --port 53 8.8.8.8 #or any other port or IP address
nscan --port 53 dns.google #or any other port or domain name
nscan --file example.txt #or any other file
sudo nscan --ping 8.8.4.4 #or any other IP
sudo nscan --ping dns.google #or any other domain name
sudo nscan --syn 8.8.4.4 #or any other IP
sudo nscan --syn dns.google #or any other domain name
- Add supported file extentions for
--file
option - Add file size limit for
--file