Хотел сделать автоскан, который проверяет открыт ли определенный порт на машинах и у меня возникло два вопроса, во первых как сделать так что бы результаты забирались по мере сканирования, а не при его окончании? Если брать большой диапазон, nmap может встать и перестать что либо делать и не хотелось бы самостоятельно потом доставать адреса из отчета. И ещё, адреса записываются в одну строку, как можно поставить между ними какой ни будь \n?
while nmap -T4 -p 80 -Pn -iL ip.txt | tee N_ips.txt; #можно было бы сделать pipe, но велик шанс вообще так потерять все результаты если nmap затупит.
grep -B5 «80/tcp open» N_ips.txt | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" > tstres.txt;
cat tstres.txt; #при выполнении этой команды они идут по строкам, то есть на одной строке один ip. Если же их направить в файл, то все снова в одной строке без пробелов.
Хотел сделать через for, но не работает. И да бывает nmap зависает и перестает что либо делать, реально ли поставить какой ни будь таймаут или эта утилита вообще не подходит для диапазонов.
Все это я пишу в Bash, попутно изучая его с нуля, так что возможно я выбираю не лучшие решения проблем, но хочется разобраться с этим для личного развития. Буду благодарен за ответы.