nmap
является отправной точкой для этого начинания.
nmap
имеет тенденцию замедляться для меня, когда я начинаю выходить за пределы порога целей (порты x ips), поэтому, оставаясь в своей собственной оболочке, вы можете разбить их на диапазоны и разделить их на процессы, и каждый из них будет перенаправлять свой вывод в файл, базу данных и т. д.
Для действительно огромного набора данных вы можете рассмотреть что-то вроде функция AWS Lambda, ботнет и т. д.
Nmap:
nmap -pN -p80 -T4 --randomize-hosts -oA myscan 192.168.0.0/16
объяснил: не ping, ни tcp ping, так как вы все равно собираетесь синхронизировать с портом 80, быстрое время, рандомизация хосты, вывод в форматы nmap grep и xml для дальнейшей обработки.
masscan:
masscan -p80 -oG myscan.gnmap 192.168.0.0/16
объяснение: то же, что и выше, вывод greppable. Быстрее, но менее точно.