¿Cómo instalar la biblioteca python-nmap en Linux?

Python-Nmap es un mapeador de red que es excepcionalmente vital para manejar la auditoría de seguridad y descubrir la red. Existe como un proyecto de código abierto; por lo tanto, está disponible de forma gratuita.  

Todos los sistemas operativos principales son compatibles con Python-Nmap. Sin embargo, los paquetes binarios solo están disponibles para Windows, Linux y Mac OS X. Nmap es esencial en las tareas de escaneo de puertos al manipular los resultados del escaneo de Nmap mediante programación. Aquí vamos a ver cómo instalar la biblioteca python-nmap en Linux.

Las características críticas de Nmap en las que vale la pena sumergirse incluyen:

  • Detección de sistema operativo: esto implica identificar el sistema operativo host, así como las características de hardware del dispositivo de red.
  • Escaneo de puertos : Nmap puede contar y enumerar el objetivo completo y los puertos abiertos
  • Interacción programable con el objetivo : en Nmap, podemos escribir scripts que lleven a cabo operaciones en los dispositivos de red con Nmap Scripting Engine combinado con los lenguajes de programación Lua.
  • Detección de versión : podemos establecer el número de versión de la aplicación y el nombre de la aplicación interrogando a los servicios de red ubicados en los dispositivos remotos.
  • Host Discovery : este es el concepto cuando queremos encontrar los hosts en una red en particular. Por ejemplo, cuando queremos saber si determinados puertos están abiertos. O cuando hacen requests ICMP. Además, Nmap también puede enumerar hosts que responden a TCP.

Hay dos formas variadas de probar los métodos Nmap:

Método 1: el primer enfoque es escribir scripts en python y ejecutarlos en la terminal usando el siguiente comando.

root@gfg:~# python script_name.py
# script_name.py

import nmap
nmap =nmap.PortScanner()
host = '127.0.0.1'
nmap.scan(host, '1-10')
print(nmap.command_line())
How to Install python-nmap Library in Linux

probando métodos Nmap usando un script

Método 2: el segundo enfoque consiste en probar los métodos de Nmap en una interfaz de línea de comandos. Para lograr esto, abra la terminal y ejecute el comando «python» para obtener una interfaz como la que se muestra a continuación.

How to Install python-nmap Library in Linux

Instalación de Nmap en Ubuntu (Debian):

Ejecute el siguiente comando

root@gfg:~# sudo apt-get install nmap

Instalación de Python-Nmap en Ubuntu (Debian):

También necesitamos el módulo de python llamado python-nmap. Es responsable del descubrimiento de hosts y servicios dentro de la red de computadoras. Lo hace analizando las respuestas de los hosts identificados después de inicializar el envío de paquetes específicos a estos hosts.

Hay dos formas de instalar python-nmap. El primero implica la instalación en la terminal, mientras que el segundo implica descargar la biblioteca python-nmap y realizar una instalación manual.

Método 1: Instalar Python-Nmap a través de la terminal

Por lo que ejecutaremos el siguiente comando:

root@gfg:~# pip install python-nmap

Método 2: Instalación manual de Python-Nmap

En este segundo enfoque, enumeraremos todos los pasos necesarios para descargar la biblioteca python-nmap hasta que esté lista para usar.

Paso 1: descargue la biblioteca python-nmap usando wget de la siguiente manera.

root@gfg:~# wget http://xael.org/norman/python/python-nmap/python-nmap-0.1.4.tar.gz
How to Install python-nmap Library in Linux

Descargue la biblioteca python-nmap usando wget

Paso 2: Usa tar para extraer el contenido

root@gfg:~# tar xf python-nmap-0.1.4.tar.gz 
How to Install python-nmap Library in Linux

Usa tar para extraer el contenido.

Paso 3: cambie el directorio a los contenidos extraídos

root@gfg:~#  cd python-nmap-0.1.4
How to Install python-nmap Library in Linux

Cambiar directorio a los contenidos extraídos

Paso 4: Instalación de Python-Nmap

root@gfg:~#  python setup.py install
How to Install python-nmap Library in Linux

Instalación de Python-Nmap

Paso 5: Confirme que Python-Nmap se instaló correctamente y está listo para usar.

root@gfg:~# python

Confirme que Python-Nmap se instaló correctamente y está listo para usar

También necesitamos un entorno virtual para separar preocupaciones entre los diferentes módulos y diferenciar los otros proyectos. Esto es importante si decide escribir secuencias de comandos de Python y ejecutarlas en lugar de la interfaz de línea de comandos.

El siguiente comando ayudará en la creación de un entorno virtual

python -m venv my_virtual_environment_name

Prueba de Nmap en la interfaz de línea de comandos

Abra la terminal presionando Ctrl + Alt + T en el teclado. Luego, escribe la palabra python y presiona enter en tu teclado

root@gfg:~# python

Para probar los diversos comandos de Nmap, primero importaremos el módulo Nmap usando el siguiente comando.

>>> import nmap

A continuación, necesitamos instanciar el escáner de puertos de Nmap de la siguiente manera

>>> nmap =nmap.PortScanner()
>>> host = '127.0.0.1'

Lo que sigue es configurar tanto el puerto como el rango de host para escanear como se muestra a continuación:

>>> nmap.scan(host, '1-10')

A continuación, podemos imprimir el comando command_line utilizado para el escaneo como se muestra

>>> print(nmap.command_line())

Usando Nmap para obtener el nombre de host de 127.0.0.1

>>> nmap['127.0.0.1'].hostname()
'localhost'
>>>

Si queremos obtener información de escaneo en el Nmap, haga lo siguiente:

>>> print nmap.scaninfo()

Los resultados serán como:

{'tcp': {'services': '1-10', 'method': 'connect'}}

Para escanear cada host, necesitamos ejecutar los siguientes comandos

>>> for host in nmap.all_hosts():
...     print('Host : %s (%s)' % (host, nmap[host].hostname()))
...     print('State : %s' % nmap[host].state())

Del mismo modo, también podemos escanear todos los protocolos. Devuelve el protocolo para la red específica que se está escaneando.

>>> nmap['127.0.0.1'].all_protocols()

El resultado en nuestro caso fue:

[tcp]

Obtenga el estado de un host específico de la siguiente manera

>>> nmap['127.0.0.1'].state()

Se indicará si el host está activo o inactivo. En nuestro caso,

'up'

El método Keys() es responsable de mostrar información sobre todos los puertos activos mientras proporciona el rango. Lo siguiente es cómo usar el método keys().

>>> nmap['127.0.0.1']['tcp'].keys()
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>

Validar la información del puerto de un puerto dado. Por ejemplo, para 20 en el host dado es el siguiente

>>> nmap['127.0.0.1'].has_tcp(20)
False
>>>

Publicación traducida automáticamente

Artículo escrito por humphreykibet y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *