Problème avec nmap en python

Résolu
shodannn Messages postés 10 Date d'inscription jeudi 13 juin 2024 Statut Membre Dernière intervention 25 juillet 2024 - Modifié le 25 juil. 2024 à 14:56
shodannn Messages postés 10 Date d'inscription jeudi 13 juin 2024 Statut Membre Dernière intervention 25 juillet 2024 - 25 juil. 2024 à 22:08

Bonjour,

J'ai un problème avec le modules nmap en python. Après avoir installé les modules requis pour nmap, mon import nmap ne fonctionne pas. Il est indiqué qu'il n'y a aucun module qui s'appelle nmap.

Voici mon code :

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()

Et voici l'erreur dans la console :

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

Merci de votre aide

2 réponses

Bonsoir,

Quelle bibliothèque as-tu installé et comment ?

Sur pypi https://pypi.org/search/?q=nmap il y en a 2.

Sur quel système es-tu ? Es-tu certain que tout s'est bien déroulé lors de l'installation de cette bibliothèque ?

Tu peux déjà regarder si ce module apparaît dans la liste des modules installés.

python -m pip list
0
shodannn Messages postés 10 Date d'inscription jeudi 13 juin 2024 Statut Membre Dernière intervention 25 juillet 2024 1
25 juil. 2024 à 10:45

J'ai installer la bibliothèque python-nmap 0.7.1,je suis sous windows,oui lorsque je veux le réinstaller il est noter dans la console "Requirement already satisfied: python-nmap in c:\python312\lib\site-packages (0.7.1)"

Si sa peut aider voici la listes des modules que j'ai :

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 Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
25 juil. 2024 à 15:04

Bonjour,

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 Messages postés 10 Date d'inscription jeudi 13 juin 2024 Statut Membre Dernière intervention 25 juillet 2024 1
Modifié le 25 juil. 2024 à 15:30

D'accord merci beaucoup pour ces détails, je regarde ça ce soir, et je vous donnerai les résultats.

0
shodannn Messages postés 10 Date d'inscription jeudi 13 juin 2024 Statut Membre Dernière intervention 25 juillet 2024 1
Modifié le 26 juil. 2024 à 12:55

C'est bon j'ai enfin trouvé. En fait, il y avait une nouvelle version de pip, et quand je voulais la mettre à jour ça me mettait accès refusé. Donc je viens de comprendre que si je lançais VS code en admin, je pouvais mettre à jour et d'un coup, plus de problème avec import nmap.

Merci beaucoup d'avoir pris le temps de m'aider

Bonne soirée

1