Creare un port scanner in Python

Creare un port scanner in Python

Preciso che l'ho testato solo su Python 3; non so che modifiche vadano fatte per la versione 2.

Qui useremo le socket e il multi-threading con il modulo threading per velocizzare il tutto.

Faremo il classico scanner di tutte le porte fino alla 65535.

Il tutto verrà fatto in pochi secondi.

Ecco il codice:

import socket
import threading

target = '192.168.1.185'

def scanPort(port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(0.5)

    try:
        con = s.connect((target, port))
        print('Porta :', port, " aperta")
        con.close()
    except:
        pass

if __name__ == "__main__":
    r = 1
    for x in range(1, 65535):
        t = threading.Thread(target=scanPort, kwargs={'port': r})
        r += 1
        t.start()

Provate per vedere la velocità con cui viene fatta la scansione.

Enjoy!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2644 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy