Skip to content

Proiect PSO -> implementare aplicatie de tip port-scanner

Notifications You must be signed in to change notification settings

teobanu21/Port-Scanner

Repository files navigation

Proiect PSO -> aplicatie de tip port-scanner

Echipa: Banu Teodora & Prelipcean Marius
Grupa: C113D

Introducere

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
    tcp_scan
  • SYN PORT SCANNING
    syn_scan
    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:
    Port_multiplexing
    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.

Disclaimer

While not explicitly illegal – port and vulnerability scanning without permission can get you into trouble!

Cum cream executabilul?

Pentru a crea executabilul, rulati urmatoarele instructiuni:

chmod u+x _install.sh
./_install.sh

Cum stergem executabilul?

Pentru a sterge executabilul, rulati urmatoarele instructiuni:

chmod u+x _uninstall.sh
./_uninstall.sh

Cum updatam executabilul?

Pentru a sterge executabilul, rulati urmatoarele instructiuni:

chmod u+x _update.sh
./_update.sh

Cum rulam executabilul?

Aplicatia va rula pe masinilie cu OS Linux. Pentru a rula executabilul, utilizati:

nscan [option1, ..., optionN]

Cum va functiona aplicatia noastra?

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

Ce vom utiliza?

Mediu de dezvoltare:

  • Ubuntu vm
  • Visual Studio Code

Surse

socket()

struct sockaddr_in, struct in_addr

gethostbyaddr + netdb.h

inet_aton()

arpa/inet.h

others

Progres

05/01/2023

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

todo:

  • Add supported file extentions for --file option
  • Add file size limit for --file

About

Proiect PSO -> implementare aplicatie de tip port-scanner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published