无需指定 IP 即可 Ping 扫描 LAN

无需指定 IP 即可 Ping 扫描 LAN

我知道我可以通过执行类似的操作来 ping 扫描我的 LAN,nmap -sP 192.168.0.0/24这样就可以了。

我想知道是否有办法nmap使用我的 LAN IP 和网络掩码自行确定本地子网的范围,而无需我指定 IP 范围。

NMAP 有这样的功能吗?

如果没有的话,可以使用 Linux 上的 bash 行来实现吗?

答案1

ip route可能是获取此信息的最简单方法,并且在大多数情况下是正确的。

root@myhost:~# ip route 
default via 192.168.2.1 dev eth1
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.30

这是一个不太优雅且可能需要更多工作的 shell 命令,它将192.168.2.0/24从上面提取 that。它将提取上面的内容并将其放入 shell 变量中$MY_SUBNET_WITH_CIDR

DEFAULT_ROUTE_IFACE=`ip route | grep default | cut -f 5 -d " "`; \
MY_SUBNET_WITH_CIDR=`ip route | tail -n -1 | grep $DEFAULT_ROUTE_IFACE | cut -f 1 -d " "`

当然,如果您的默认网关是由电缆调制解调器或家庭宽带提供商提供的,您将尝试进入nmap属于他们的网络,这可能看起来很有敌意,所以要小心。

相关内容