A veces necesitamos buscar puertos abiertos en una máquina o host para nuestro trabajo o para la seguridad. En su mayoría utilizamos Nmap o cualquier otro escáner de puertos para este trabajo.

Pero a veces todo lo que necesitamos es un escáner de puerto simple, no uno complicado. Así que en este artículo, vamos a crear nuestro propio escáner de puerto con python.

Construyamos uno

Port Scanner se basa en Python 3 y utiliza algunas bibliotecas adicionales como y (For Banner).socketpyfiglet

import pyfiglet 
import sys 
import socket 
from datetime import datetimeascii_banner = pyfiglet.figlet_format("PORT SCANNER") 
print(ascii_banner)# Defining a target 
if len(sys.argv) == 2: 
 
 # Resuelve el hostname a IPv4 
 target = socket.gethostbyname(sys.argv[1]) 
else: 
 print("Invalid ammount of Argument")# Add Banner 
print("-" * 50) 
print("Scanning Target: " + target) 
print("Scanning started at:" + str(datetime.now())) 
print("-" * 50)try: 
 
 # Realiza el escaneo de los puertos 1 al 65,535 
 for port in range(1,65535): 
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
  socket.setdefaulttimeout(1) 
  
  # Indica si hay algun error 
  result = s.connect_ex((target,port)) 
  if result ==0: 
   print("Port {} is open".format(port)) 
  s.close() 
  
except KeyboardInterrupt: 
  print("\n Exitting Program !!!!") 
  sys.exit() 
except socket.gaierror: 
  print("\n Hostname Could Not Be Resolved !!!!") 
  sys.exit() 
except socket.error: 
  print("\ Server not responding !!!!") 
  sys.exit()

Leave a Reply

Your email address will not be published. Required fields are marked *