在单独的行中提取 NMAP 扫描的 IP 地址和端口
Extracting IP address and ports of NMAP scan in seperate lines
我对域进行 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:", ;
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 循环中,因此我可以每行输出它。我觉得只需要稍微调整一下就能得到我想要的输出。
您已经有了 </code> 的值,您可以使用它打印带有 <code>:
和端口的 ip 值。
我想你可以在最后省略到 sed
的管道,你可以使用一个管道到 awk
从匹配模式 /open/ {
开始
nmap -vv -sV localhost -oG - | awk -v OFS=':' '
/open/ {
for (i=4;i<=NF;i++) {
split($i,a,"/");
if (a[2]=="open") print , a[1]
}
}'
输出
127.0.0.1:80
127.0.0.1:443
...etc
我对域进行 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:", ;
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 循环中,因此我可以每行输出它。我觉得只需要稍微调整一下就能得到我想要的输出。
您已经有了 </code> 的值,您可以使用它打印带有 <code>:
和端口的 ip 值。
我想你可以在最后省略到 sed
的管道,你可以使用一个管道到 awk
从匹配模式 /open/ {
nmap -vv -sV localhost -oG - | awk -v OFS=':' '
/open/ {
for (i=4;i<=NF;i++) {
split($i,a,"/");
if (a[2]=="open") print , a[1]
}
}'
输出
127.0.0.1:80
127.0.0.1:443
...etc