Параллельная итерация IP-адресов в Bash
Я имею дело с большой частной сетью / 8 и мне нужно перечислить все веб-серверы, которые прослушивают порт 443 и имеют конкретную версию, указанную в ответе HTTP HEADER.
Сначала я думал бежатьnmap
с подключением сканирует и grep себя через выходные файлы, но это оказалось, чтобы бросить много ложных срабатываний, гдеnmap
указал порт, который нужно «отфильтровать», в то время как он фактически был «открытым» (использовал сканы подключения:nmap -sT -sV -Pn -n -oA foo 10.0.0.0/8 -p 443
).
Так что теперь я думал написать что-нибудь с помощью bash иcurl
- псевдокод будет выглядеть так:
for each IP in 10.0.0.0/8
do:
curl --head https://{IP}:443 | grep -iE "(Server\:\ Target)" > {IP}_info.txt;
done
Поскольку я не очень хорошо знаком с bash, я не уверен, как правильно это написать - мне придется:
перебрать все IPубедитесь, что только X-угрозы работают параллельнов идеале обрезать вывод, чтобы записать только IP-адрес соответствующего хоста в одном файлев идеале убедитесь, что записаны только соответствующие версии сервераЛюбое предложение или указание в направлении высоко ценится.