Ir para conteúdo

Problema com port scanner em Python


bornman

Posts Recomendados

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 para o comentário
Compartilhar em outros sites

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 para o comentário
Compartilhar em outros sites

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 para o comentário
Compartilhar em outros sites

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 para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...