我正在处理一个大型私有 /8 网络,需要枚举所有正在侦听端口 443 并在其 HTTP HEADER 响应中说明特定版本的网络服务器。
首先,我想nmap
通过连接扫描运行并通过输出文件对自己进行 grep,但这结果会引发许多误报,其中nmap
指出端口被“过滤”而实际上是“打开”(使用连接扫描:)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
- 理想情况下,确保只记下匹配的服务器版本
任何建议或指向一个方向都非常感谢。