import nmap import json # Initialisation du scanner scanner = nmap.PortScanner() # Définir la plage IP à scanner (celle de VirtualBox Host-only adapter : 192.168.56.0/24) network_range = "192.168.56.0/24" print(f"Scanning network: {network_range} ...") # Scan du réseau avec détection d'hôte actif (-sn) et scan des ports TCP les plus courants (-T4) scanner.scan(hosts=network_range, arguments="-T4 -F") # Stockage des résultats results = {} for host in scanner.all_hosts(): if scanner[host].state() == "up": print(f"Host up: {host}") results[host] = { "hostname": scanner[host].hostname(), "state": scanner[host].state(), "tcp": scanner[host].get("tcp", {}) } # Enregistrement des résultats en JSON with open("network_scan_report.json", "w") as f: json.dump(results, f, indent=4) print("\nScan terminé. Rapport sauvegardé dans 'network_scan_report.json'.")