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!
python socket threading.thread
Commentami!