Bash - 如果超出IP范围,则从nmap输出获取通知

时间:2016-09-26 01:37:46

标签: bash nmap

我正在尝试创建一个脚本,以便通知我网络上nmap扫描的具体情况。如果我在脚本中使用此命令:

nmap -n -sP 192.168.15.0/24 | awk '/^Nmap scan/{IP=$5};/^MAC/{print IP,$3};{next}'

如果IP范围超过192.168.15.124,如何让脚本告诉我?

1 个答案:

答案 0 :(得分:0)

假设nmap的输出是:

Nmap scan report for 192.168.15.117
MAC : 00:11:22:33:44:55
Nmap scan report for 192.168.15.125
MAC : 0a:1b:2c:3d:4e:5f

每当IP范围为124或更高时打印Beyond

$ nmap -n -sP 192.168.15.0/24 | awk '/^Nmap scan/{IP=$5; n=split($5, a, /[.]/); f=(a[n]>=124?"Beyond":"")};/^MAC/{print IP,$3,f};{next}'
192.168.15.117 00:11:22:33:44:55 
192.168.15.125 0a:1b:2c:3d:4e:5f Beyond

如何运作

有两个步骤。第一个在时段上拆分IP地址:

n=split($5, a, /[.]/)

第二步根据IP地址的最后一个八位位组是否为124或更高来设置变量f

f=(a[n]>=124 ? "Beyond" : "")