【发布时间】:2022-01-26 08:49:35
【问题描述】:
我对域进行 nmap 扫描,并希望以以下形式输出 IP 地址和所有打开的端口:
127.0.0.1:22
127.0.0.1:80
127.0.0.1:443
我有以下 bash 脚本
nmap -vv -sV subdomain.domain.tld -oG - | awk '/open/' | awk '{printf "%s:", $2;
for (i=4;i<=NF;i++) {
split($i,a,"/");
if (a[2]=="open") printf ",%s",a[1];}
print ""}' |
sed -e 's/,//'
它输出以下内容:
127.0.0.1:22,80,443
我无法将 IP 地址的值传递到 for 循环中,因此我可以每行输出它。我觉得它只需要一点点调整就可以得到我想要的输出。
【问题讨论】:
-
在您的问题中,您向我们展示了您不想要的输出和您想要的输出,但您从未向我们展示过您的 awk 脚本的输入,即
nmap -vv -sV subdomain.domain.tld -oG -的输出,所以我们只能做很多事情来帮助您修复解析输入的脚本。对于所有问题,请确保提供示例输入和输出,以便我们可以为您提供最好的帮助,并提供一个示例,我们可以复制/粘贴进行测试。顺便说一句,不是我的反对票或接近票。