Problema con nmap en Python

Resuelto
shodannn Mensajes publicados 10 Estado Miembro -  
shodannn Mensajes publicados 10 Estado Miembro -
Hola,

Tengo un problema con el módulo nmap en Python. Después de instalar los módulos requeridos para nmap, mi import nmap no funciona. Se indica que no hay ningún módulo llamado nmap.

Aquí está mi código:

import nmap
sc = nmap.PortScanner()

def main():
n = input("1 - Network scanner \n2 - Vulnerabilities Detection \n3 - Exploit\n Enter a number :")
if n == '1':
nmap()

def nmap():
ip = input("\n enter ip adress:")
sc.scan(ip,'1-8080')
print(sc.scaninfo())
print(sc[ip]['tcp'].keys())

if __name__ == "__main__":
main()

Y aquí está el error en la consola:

line 1, in <module>
import nmap
^^^^^^^^^^^
ModuleNotFoundError: No module named 'nmap'

Gracias por su ayuda

</module>

2 respuestas

erkoj
 
< p >Buenas noches,

¿Qué biblioteca has instalado y cómo?

En pypi https://pypi.org/search/?q=nmap hay 2.

¿En qué sistema estás? ¿Estás seguro de que todo salió bien durante la instalación de esa biblioteca?

Ya puedes mirar si este módulo aparece en la lista de módulos instalados.

python -m pip list
0
shodannn Mensajes publicados 10 Estado Miembro 1
 

Instalé la biblioteca python-nmap 0.7.1, estoy en Windows, sí cuando quiero volver a instalarla aparece en la consola "Requirement already satisfied: python-nmap in c:\python312\lib\site-packages (0.7.1)"

Si puede ayudar, aquí está la lista de los módulos que tengo:

Package            Version
------------------ --------
beautifulsoup4     4.12.3
certifi            2024.6.2
charset-normalizer 3.3.2
idna               3.7
pip                24.1.2
python-nmap        0.7.1
requests           2.32.3
soupsieve          2.5
urllib3            2.2.1

0
mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   7 940
 

Hello,

Visiblement ton pip a installé nmap pour python312. Es-tu sûr que c'est bien cet interpréteur python que tu utilises pour exécuter ton programme ?

Il faudrait que tu clarifies comment tu lances ton programme. Si c'est par l'explorateur windows, rien ne garantit que ce soit cet interpréteur qui est appelé. Si ton projet est créé dans un IDE comme PyCharm et que le projet est rangé dans un environnement virtuel, cela peut également expliquer pourquoi l'import ne marche pas.

Tu peux au lancement de ton programme regarder la valeur de la variable sys.path. Cela te permettra de voir dans quels dossiers sont examinés par l'interpréteur python utilisé pour exécuter le programme.

Exemple (sous Linux, mais le principe reste le même sous Windows) :

import sys print(sys.path)
['/home/mando/.local/bin', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '', '/home/mando/.local/lib/python3.12/site-packages', '/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.12/dist-packages']

On voit ici les différents dossiers examinés par l'interpréteur python. On voit au passage que dans cet exemple c'est un interpréteur python3.12. Si j'exécute l'instruction :

import nmap

... alors l'interpréteur python va itérer sur chacun de ces dossiers, dans l'ordre, jusqu'à trouver un dossier nmap (supposé contenir un fichier __init__.py). L'interpréteur s'arrête dès qu'il en trouve un (il y a donc une notion de priorité si le paquet nmap est installé à plusieurs endroits). Si aucun de ces dossiers ne marche, alors l'import échoue (c'est ton cas). Si ton module nmap n'est présent dans aucun de ces dossiers, c'est soit qu'il n'est pas installé (pour l'interpréteur python en cours d'exécution), soit que son installation est incorrecte.

Si le problème persiste, merci de reporter la valeur de ton sys.path et de vérifier dans quel dossier (chemin absolu) est installé nmap.

Bonne chance

0
shodannn Mensajes publicados 10 Estado Miembro 1
 

De acuerdo, muchas gracias por estos detalles, lo revisaré esta noche y les daré los resultados.

0
shodannn Mensajes publicados 10 Estado Miembro 1
 

Está bien, por fin lo encontré. En realidad, había una nueva versión de pip, y cuando intentaba actualizarla me daba acceso denegado. Entonces entendí que si ejecutaba VS Code como administrador, podía actualizar y de repente ya no había problema con import nmap.

Muchas gracias por tomarte el tiempo para ayudarme

Buenas noches

1