Jump to content
Sign in to follow this  
bornman

Problema com port scanner em Python

Recommended Posts

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)

 

Share this post


Link to post
Share on other 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.

  • Curtir 1

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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.

Edited by gnoo
  • Curtir 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...