スキャン結果のエクスポート
このステップでは、Masscan のスキャン結果をさまざまなファイル形式にエクスポートする方法を学びます。スキャンデータを適切にエクスポートすることは、調査結果を分析したり、チームメンバーとレポートを共有したり、データを他のセキュリティツールに入力したりするために重要です。ここでは、スプレッドシート分析用の CSV 形式、簡単なレビュー用のプレーンテキスト形式、自動処理用の JSON 形式という 3 つの一般的な形式を作成します。
まず、スキャン結果が保存されているプロジェクトディレクトリに移動します。これにより、すべてのエクスポートされたファイルが正しい場所に保存されます。
cd ~/project
最初の変換では、CSV(Comma-Separated Values、カンマ区切り値)ファイルを作成します。CSV は、Excel などのスプレッドシートソフトウェアにインポートするのに最適です。awk
コマンドは、grep 可能な形式のファイルから IP アドレス、ポート番号、サービス名を抽出します。
awk -F'[ /]' '/Host:/ {ip=$2} /open/ {print ip","$4","$7}' scan_results.gnmap > scan_results.csv
次に、ターミナルやテキストエディタで簡単に読めるシンプルなテキストレポートを生成します。この形式は、スプレッドシートを開かずにどのホストが開いているポートを持っているかをすぐに確認する必要がある場合に便利です。
grep "open" scan_results.gnmap | awk '{print "Host:", $2, "Port:", $4}' > scan_report.txt
他のツールやスクリプトとの統合のために、JSON ファイルを作成します。JSON は、ほとんどのプログラミング言語が簡単に解析できる構造化された形式です。以下のコマンドは、すべてのスキャン結果を含む適切な JSON 配列を作成します。
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
最後に、すべてのエクスポートされたファイルが正常に作成されたことを確認します。このコマンドは、ファイルのサイズとともにファイルを一覧表示するので、エクスポートが期待どおりに機能したことを確認できます。
ls -l scan_results.* scan_report.txt
以下のような出力が表示されるはずです。
-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