Экспорт результатов сканирования
На этом этапе вы узнаете, как экспортировать результаты сканирования Masscan в различные форматы файлов. Корректный экспорт данных сканирования является важным, так как он позволяет анализировать полученные результаты, делиться отчетами с членами команды или использовать данные в других инструментах безопасности. Мы создадим три распространенных формата: CSV для анализа в электронных таблицах, обычный текст для быстрого просмотра и JSON для автоматизированной обработки.
Сначала перейдите в директорию проекта, где хранятся результаты сканирования. Это обеспечит сохранение всех экспортированных файлов в правильном месте:
cd ~/project
Первое преобразование создает файл в формате CSV (Comma-Separated Values - разделенные запятыми значения). CSV идеально подходит для импорта в программное обеспечение для электронных таблиц, такое как Excel. Команда awk
извлекает IP-адрес, номер порта и имя сервиса из файла в grepable-формате:
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