Скрипт, который будет печатать заголовки HTTP для нескольких серверов - PullRequest
0 голосов
/ 07 ноября 2018

Я создал следующий скрипт bash:

#!/bin/bash
for ip in $(cat targets.txt); do
"curl -I -k https://"${ip};
"curl -I http://"${ip}
done

Однако я не получаю ожидаемый вывод, который представляет собой ответы заголовка HTTP с IP-адресов, перечисленных в target.txt

Я не уверен, как curl может пытаться использовать HTTP и HTTPS (80/443) в одной команде, поэтому я установил две отдельные команды curl.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

nmap может быть более подходящим для задачи: nmap -iL targets.txt -p T:80,443 -sV --script=banner --open

Выполните сетевую карту (nmap) хостов из списка ввода (-iL targets.txt) на портах TCP 80 и 443 (-p T:80,443) с обнаружением службы / версии (-sV) и используйте скрипт захвата баннера (--script=banner, ref. https://nmap.org/nsedoc/scripts/banner.html). Возвращает результаты для открытых портов (--open).

... или masscan (ref. https://github.com/robertdavidgraham/masscan): masscan $(cat targets.txt) -p 80,443 --banners

Массовое сканирование (masscan) всех целей на портах 80 и 443 (-p 80,443) и захват баннеров (--banners).

0 голосов
/ 07 ноября 2018

Удалите кавычки вокруг ваших команд curl. Вам также не нужно ; после первого завитка.

#!/bin/bash
for ip in $(cat targets.txt); do
  curl -I -k https://${ip}
  curl -I http://${ip}
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...