bash – 如何确定给定范围内的哪些IP具有使用nmap的端口80?

前端之家收集整理的这篇文章主要介绍了bash – 如何确定给定范围内的哪些IP具有使用nmap的端口80?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我完全不了解bash脚本,我正试图让这个工作:

扫描ip范围,查找端口80打开的设备…
我认为它必须如下所示:

#!/bin/bash
echo -----------------------------------
for ip in 192.168.0.{1,.255}; do
nmap -p80 192.168.0.1
      if #open; then
            echo "{ip} has the port 80 open"
      else
            #do nothing
fi
done
echo -----------------------------------
exit 0

我也只是想看到这样的结果:

-----------------------------------
192.168.0.1 has the port 80 open
192.168.0.10 has the port 80 open
192.168.0.13 has the port 80 open
192.168.0.15 has the port 80 open
-----------------------------------

(所以没有错误或nmap的正常输出..)

有人可以帮我吗?
谢谢

nmap带有一个很好的输出参数-oG(grepable output),这使得解析更容易.也不需要遍历所有要扫描的IP地址. nmap是网络掩码.

你的例子可以写成:

nmap -p80 192.168.0.0/24 -oG - | grep 80/open

-oG启用grepable输出,并且 – 指定要输出文件(在本例中为stdout).管道符号将nmap(stdout)的输出重定向到grep,在这种情况下,它只返回包含80 / open的行.

猜你在找的Bash相关文章