- Выполнить сканирование Nmap по диапазону IP-адресов.
- Программно проанализировать результаты сканирования.
- Сохраните результаты анализа в базе данных для дальнейшего анализа.
- Как анализировать результаты сканирования (который выглядит как вложенный словарь) эффективным способом для извлечения полезной информации, такой как открытые порты, службы и версии.
- Лучший способ структурировать схему базы данных для хранения результаты. Должен ли я использовать SQL (например, SQLite/PostgreSQL) или NoSQL (например, MongoDB)?
Как эффективно обрабатывать большие сканирования, если целевой диапазон велик (например, несколько подсетей).< /li>
Код: Выделить всё
import nmap
nm = nmap.PortScanner()
scan_result = nm.scan(hosts='192.168.1.0/24', arguments='-sV')
print(scan_result)
Сканирование Nmap успешно выполняется и возвращает словарь, но оно довольно сложное и вложенное. Я пытаюсь проанализировать словарь, чтобы извлечь конкретные сведения, такие как открытые порты, службы и версии, в удобном для чтения формате.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -storing-r