Port Scanner Python
Python è un esempio di linguaggio di alto livello; altri linguaggi di alto livello di cui puoi aver sentito parlare sono il C, il C++, il Perl ed il Java.
Come puoi immaginare sentendo la definizione “linguaggio di alto livello” esistono anche linguaggi di basso livello, talvolta chiamati “linguaggi macchina” o “linguaggi assembly”. In modo non del tutto corretto si può affermare che i computer possono eseguire soltanto programmi scritti in linguaggi di basso livello: i programmi scritti in un linguaggio di alto livello devono essere elaborati prima di poter essere eseguiti. Questo processo di elaborazione impiega del tempo e rappresenta un piccolo svantaggio dei linguaggi di alto livello.
Prima di iniziare avrete bisogno di installare Python sul vostro computer, e probabilmente lo dovrete scaricare.
DOWNLOAD: https://www.python.org/ftp/python/3.6.0/python-3.6.0-amd64.exe
Una volta scaricato apriamo IDLE (Python 3.6 64-bit) ovvero il nostro ambiente di sviluppo, dopodiché creiamo un nuovo file.
Il programma che andremo a creare serve a cercare le porte aperte del server di un determinato HOST.
NOTA: Questo progetto è a scopo illustrativo, non mi ritengo responsabile di ogni utilizzo improprio.
A questo punto possiamo copiare lo sketch seguente e incollarlo sul nostro editor:
import socket import sys from datetime import datetime remoteServer = input("Inserisci un HOST remoto da analizzare: ") remoteServerIP = socket.gethostbyname(remoteServer) print ("-" * 60) print ("Scansione in corso...", remoteServerIP) print ("-" * 60) t1 = datetime.now() try: for port in range(1,1025): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex((remoteServerIP, port)) if result == 0: print ("Porta {}: Aperta".format(port)) sock.close() except KeyboardInterrupt: print ("Hai premuto CTRL+C") sys.exit() except socket.gaierror: print ('L HOST scelto non può essere analizzato, chiusura in corso...') sys.exit() except socket.error: print ("Impossibile connettersi al server") sys.exit() t2 = datetime.now() total = t2 - t1 print ('Scansione completata in: ', total)
Una volta incollato cliccate su RUN (F5) e inserite un HOST da analizzare, dopo qualche minuto lo sketch mostrerà nella console le porte aperte dell’HOST