【发布时间】:2014-08-20 08:21:39
【问题描述】:
我正在处理一个大型私有 /8 网络,需要枚举所有正在侦听端口 443 并在其 HTTP HEADER 响应中说明特定版本的网络服务器。
首先我想通过连接扫描运行nmap,并通过输出文件对自己进行grep,但这结果会引发许多误报,其中nmap声明一个端口要“过滤”,而实际上它是“ open”(使用的连接扫描: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
- 最好确保只记下匹配的服务器版本
非常感谢任何建议或指向方向。
【问题讨论】:
标签: linux bash curl gnu-parallel