Использование curl с gnu-parallel или xarg, чтобы пройти через порты 1-65535 в bash - PullRequest
0 голосов
/ 03 декабря 2018

Мне нужно сделать вызов curl, запросить баннер (timeout 5 curl -I ip: port команда, с 5s timeout) для всех портов ip и сохранить результаты в один файл в следующем формате(разделенный пробелом): «номер порта» «вторая строка вытянутого баннера»

Какой будет правильный сценарий bash для выполнения этой работы?Кроме того, каково разумное количество параллельных заданий на 2-гигабайтном 2-ядерном Kvm Vps?

PS Я знаю, что это скрипты, подобные nmap, для быстрого выполнения работы, но они часто терпят неудачу в вытягиваниибаннеры, где команда curl дает мне 100% результат каждый раз.

1 Ответ

0 голосов
/ 03 декабря 2018

Примерно так:

parallel 'r=$(timeout 5 curl -l 192.168.0.1:{} | sed -ne "2p"); echo "{} $r"'  ::: {1..65535}
...