Exporter les résultats du scan
Dans cette étape, vous allez apprendre à exporter les résultats de votre scan Masscan dans différents formats de fichiers. Exporter correctement les données de scan est crucial car cela vous permet d'analyser les résultats, de partager des rapports avec les membres de votre équipe ou d'alimenter d'autres outils de sécurité. Nous allons créer trois formats courants : CSV pour l'analyse dans des tableurs, texte brut pour une revue rapide et JSON pour le traitement automatisé.
Tout d'abord, accédez au répertoire de votre projet où sont stockés les résultats du scan. Cela garantit que tous les fichiers exportés seront enregistrés au bon emplacement :
cd ~/project
La première conversion consiste à créer un fichier CSV (Comma-Separated Values, valeurs séparées par des virgules). Le format CSV est idéal pour l'importation dans des logiciels de tableur comme Excel. La commande awk
extrait l'adresse IP, le numéro de port et le nom du service à partir du fichier au format "grepable" :
awk -F'[ /]' '/Host:/ {ip=$2} /open/ {print ip","$4","$7}' scan_results.gnmap > scan_results.csv
Ensuite, nous allons générer un simple rapport texte facile à lire dans un terminal ou un éditeur de texte. Ce format est utile lorsque vous avez besoin de vérifier rapidement quels hôtes ont des ports ouverts sans ouvrir un tableur :
grep "open" scan_results.gnmap | awk '{print "Host:", $2, "Port:", $4}' > scan_report.txt
Pour l'intégration avec d'autres outils ou scripts, nous allons créer un fichier JSON. JSON est un format structuré que la plupart des langages de programmation peuvent facilement analyser. Les commandes ci-dessous créent un tableau JSON correct avec tous les résultats du scan :
echo '[' > scan_results.json
grep "open" scan_results.gnmap | awk '{print "{\"host\":\""$2"\",\"port\":\""$4"\",\"service\":\""$7"\"},"}' >> scan_results.json
sed -i '$ s/,$//' scan_results.json
echo ']' >> scan_results.json
Enfin, vérifiez que tous les fichiers exportés ont été créés avec succès. Cette commande liste les fichiers avec leurs tailles afin que vous puissiez confirmer que les exports ont fonctionné comme prévu :
ls -l scan_results.* scan_report.txt
Vous devriez voir une sortie similaire à :
-rw-r--r-- 1 labex labex 1234 scan_results.csv
-rw-r--r-- 1 labex labex 5678 scan_results.json
-rw-r--r-- 1 labex labex 9012 scan_report.txt