bornman Posted March 22, 2018 at 10:02 PM Share Posted March 22, 2018 at 10:02 PM Fala pessoal, peguei na internet uma base para um port scanner em Python porém aparentemente ele está "travando", tentei fazer com menos portas para testar se era eu que não estava esperando o tempo necessário mas não deu certo também. Segue o código: import socket import subprocess import sys from datetime import datetime subprocess.call('cls', shell=True) host = input("Enter the host to scan: ") hostipv4 = socket.gethostbyname(host) print("-"*60) print(" Please wait, scanning", hostipv4,"..." ) 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((hostipv4, port)) if (result == 0): print("Port {}: Open").format(port) sock.close except socket.gaierror: print("Hostname could not be resolver. Exiting...") sys.exit() except socket.error: print("Couldn't connect to server.") sys.exit() t2 = datetime.now() total = t2-t1 print("Total scan time: ", total) Link to comment Share on other sites More sharing options...
Guest gnoo Posted March 23, 2018 at 11:42 AM Share Posted March 23, 2018 at 11:42 AM Estás com erro na sintaxe... Erro: print("Port {}: Open").format(port) Forma correta: print("Port {}: Open".format(port)) Após ter feito essa correção aqui funcionou perfeitmente, se quiseres ao aumentar o número de portos convém implementar um sistema de threads. Link to comment Share on other sites More sharing options...
bornman Posted March 24, 2018 at 12:17 PM Author Share Posted March 24, 2018 at 12:17 PM Em 23/03/2018 em 08:42, gnoo disse: Estás com erro na sintaxe... Erro: print("Port {}: Open").format(port) Forma correta: print("Port {}: Open".format(port)) Após ter feito essa correção aqui funcionou perfeitmente, se quiseres ao aumentar o número de portos convém implementar um sistema de threads. Opa, funcionou. Obrigado! Existe um jeito de scannear portas de forma mais rápida com o python? Link to comment Share on other sites More sharing options...
Guest gnoo Posted March 24, 2018 at 04:36 PM Share Posted March 24, 2018 at 04:36 PM A forma de o fazer mais rápido é com threads, pesquisa sobre o módulo threading do python. Mas é importante que sejas tu a escrever esse código, mesmo que tires ideias de códigos de terceiros, só fazer copy/paste não te vai ajudar muito. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.