Advertisement
diegomrodrigues

Scanneador de portas no Python

Jan 18th, 2018
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.72 KB | None | 0 0
  1. """
  2. Script para realizar o scan de portas em um servidor
  3.  
  4. Artigo:
  5. https://www.linkedin.com/pulse/scanneador-de-portas-python-diego-mendes-rodrigues/
  6.  
  7. Diego Mendes Rodrigues
  8. """
  9. import socket
  10. import subprocess
  11. import sys
  12. import platform
  13. from datetime import datetime
  14.  
  15. # Limpando a tela
  16. if platform.system()=='Windows':
  17.     subprocess.call('cls', shell=True)      # DOS/Windows
  18. else:
  19.     subprocess.call('clear', shell=True)   # Linux
  20.  
  21. # Solicitando o Host (Ex: uol.com.br)
  22. remoteServer    = input("Qual o host remoto para realizar o scan: ")
  23. remoteServerIP  = socket.gethostbyname(str(remoteServer))
  24.  
  25. # Exibindo um banner com informações do scan
  26. print("")
  27. print("-" * 60)
  28. print("Aguarde, escaneando o host remoto com IP", remoteServerIP)
  29. print("-" * 60)
  30. print("")
  31.  
  32. # Data/Hora de início do scan
  33. t1 = datetime.now()
  34.  
  35. # Realizando o scan entre as portas 1 e 1024 (portas baixas)
  36. try:
  37.     for porta in range(1,1025):
  38.         #print(porta)
  39.         sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  40.         sock.settimeout(0.20)
  41.         resultado = sock.connect_ex((remoteServerIP, porta))
  42.         if resultado == 0:
  43.             print("Porta {} Aberta".format(porta))
  44.         sock.close()
  45.  
  46. except KeyboardInterrupt:
  47.     print("\nVocê pressionou Ctrl+C")
  48.     sys.exit()
  49.  
  50. except socket.gaierror:
  51.     print('\nO hostname não pode ser resolvido. Saindo!')
  52.     sys.exit()
  53.  
  54. except socket.error:
  55.     print("\nNão foi possível realizar a conexão com o servidor!")
  56.     sys.exit()
  57.  
  58. # Data/Hora do final do scan
  59. t2 = datetime.now()
  60.  
  61. # Calculando quanto tempo foi necessário para realizar o scan
  62. total =  t2 - t1
  63.  
  64. # Exibindo a informação de tempo de execução
  65. print('\nEscaner completo em ', total)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement