En este artículo, aprenderemos cómo programar un escáner de puertos usando el nmap
módulo ‘ ‘ en Python. El programa tomará un rango de números de puerto como entrada e imprimirá el estado (abierto o cerrado) de todos los puertos en ese rango.
Nmap : Nmap es una herramienta de escaneo de red gratuita y de código abierto. Para ejecutar el programa discutido en este artículo, necesitará tener la herramienta ‘nmap’ instalada en su sistema. Si no está instalado, visite la página de descarga de Nmap .
Módulos utilizados
Usaremos el python-nmap
módulo ‘ ‘ para lograr esta tarea. Instale el paquete (si aún no está instalado) con el siguiente comando:
pip install python-nmap
Nota: Hacer escaneos ‘nmap’ en un objetivo sin el permiso y la autoridad adecuados es ilegal. Use localhost (127.0.0.1) como su objetivo
Ejemplo:
import nmap # take the range of ports to # be scanned begin = 75 end = 80 # assign the target ip to be scanned to # a variable target = '127.0.0.1' # instantiate a PortScanner object scanner = nmap.PortScanner() for i in range(begin,end+1): # scan the target port res = scanner.scan(target,str(i)) # the result is a dictionary containing # several information we only need to # check if the port is opened or closed # so we will access only that information # in the dictionary res = res['scan'][target]['tcp'][i]['state'] print(f'port {i} is {res}.')
Producción:
port 75 is closed. port 76 is closed. port 77 is closed. port 78 is closed. port 79 is closed. port 80 is open.
Nota : La salida puede variar según el estado actual de los puertos.
Publicación traducida automáticamente
Artículo escrito por praveenism y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA