Voici un exemple de code Python qui utilise la bibliothèque Nmap pour effectuer une analyse de port sur une adresse IP ou une plage d’adresses IP spécifiée.
Tout d’abord, il faut installer la bibliothèque python-nmap.
Pour cela, il suffit d’ouvrir le terminal et de saisir la commande suivante :
pip install python-nmap
Une fois installée, voici un exemple de code pour utiliser nmap :
import nmap
# Créez un objet nmap.PortScanner
scanner = nmap.PortScanner()
# Définir l'adresse IP à scanner
ip_address = "127.0.0.1"
# Utilisez la méthode scan() de l'objet scanner pour effectuer une analyse de port sur l'adresse IP spécifiée
scanner.scan(ip_address, arguments="-p 1-65535")
# Récupérer les détails de l'analyse
print("Host : %s (%s)" % (ip_address, scanner[ip_address].hostname()))
print("State : %s" % scanner[ip_address].state())
# Itérez sur les ports pour récupérer les détails
for port in scanner[ip_address]['tcp']:
print("Port : %s\tState : %s\tService : %s" % (port, scanner[ip_address]['tcp'][port]['state'], scanner[ip_address]['tcp'][port]['name']))
Dans cet exemple, nous avons créé un objet nmap.PortScanner
et défini l’adresse IP à scanner. Nous avons ensuite utilisé la méthode scan()
de l’objet scanner pour effectuer une analyse de port sur l’adresse IP spécifiée.
Nous avons utilisé l’argument -p 1-65535
pour spécifier que nous voulons analyser tous les ports de 1 à 65535.
Enfin, nous avons itéré sur les ports pour récupérer les détails de chaque port, y compris son état (ouvert ou fermé) et le nom du service s’il est disponible.
Il est important de noter que nmap peut être utilisé pour bien plus que l’analyse de port – il peut également être utilisé pour effectuer des scans de vulnérabilité, des scans d’exploration de réseau, etc. Vous pouvez consulter la documentation de la bibliothèque Nmap pour plus d’informations sur ses capacités.
Un petit rappel des commandes de base de Nmap : https://blog.nohackme.com/2023/03/cheat-sheet-des-commandes-nmap/