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