我有一个程序不断将机器接收到的 icmp 回显请求写入文件。
我习惯system ("tcpdump icmpecho[0] == 8 | tee abc.txt")
这样做。
所以这个过程一直持续到我手动结束程序。
每行都有时间戳作为它的第一个单词。
现在我想使用单独的脚本计算收到的回显请求的频率,这样如果达到某个阈值,我就可以打印警报。
我尝试使用grep -Eo '^[^ ]+' file
将时间戳放入数组中,但我不知道将它们放入数组后该怎么做。grep 在一个 while 循环中继续,因为它正在读取的文件不断被无限填充。(如果 grep 继续这样,我将无法监控差异并打印警报,对吗?)
我要做的就是跟踪进入我的机器的 icmp echo 请求的频率,并在该频率超过阈值时打印一条警报消息。有没有其他方法?