脚本将为多个服务器打印HTTP标头

时间:2018-11-06 22:24:09

标签: bash curl

我创建了以下bash脚本:

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

但是我没有收到预期的输出,这是target.txt中列出的IP地址的HTTP标头响应

我不确定curl如何在一个命令中尝试HTTP和HTTPS(80/443),因此我设置了两个单独的curl命令。

2 个答案:

答案 0 :(得分:1)

删除curl命令周围的引号。第一次卷曲后,您也不需要;

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

答案 1 :(得分:0)

nmap可能更适合以下任务:nmap -iL targets.txt -p T:80,443 -sV --script=banner --open

使用服务/版本检测({{1})在TCP端口80和443(nmap)上的输入列表(-iL targets.txt)中执行主机的网络映射(-p T:80,443) }),然后使用横幅抓取脚本(-sV,参考https://nmap.org/nsedoc/scripts/banner.html)。返回开放端口(--script=banner)的结果。

...或--open(参考https://github.com/robertdavidgraham/masscan):masscan

对端口80和443(masscan $(cat targets.txt) -p 80,443 --banners)上的所有目标进行批量扫描(masscan),并抓取标语(-p 80,443)。