Syslog和LogAnalyzer – 如何检索源IP并对其进行计数

我已经设置了集中的Syslog(centOS + rsys)服务器来运行LogAnalyzer,以便更好地logging日志。 最近我被要求提供来自所有IP的防火墙的日志以用于特定的防火墙语句,并且计数在列表上发生了多less特定的IP。

到目前为止,我知道如何显示特定防火墙语句的所有日志,但不知道如何从消息列中检索源IP并计算特定的IP发生。

有没有额外的软件可以做到这一点,或者我需要创build自己的日志分析器来完成这个工作?

谢谢

我们使用AWK。

Feb 25 12:18:50 host.example.come kernel: LOGPREFIX: IN=eth0 OUT= MAC=00:aa:aa:bb:cc:dd:00:ee:00:aa:dc:00:aa:00 SRC=xxxx DST=yyyy LEN=40 TOS=0x00 PREC=0x00 TTL=95 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 
  1. 清除SRC地址
  2. 数字sorting(prereq到uniq)
  3. 使用带-c标志的uniq来获得每个源的计数
  4. 可选:再次数字分类查看最重的违规者。

 [[email protected] faculty]# grep LOGPREFIX /var/log/messages | \ awk '{print $10}' | sort -n | uniq -c | sort -n 

输出:

  5 SRC=x.174.xx 6 SRC=61.yyy 6 SRC=zzz196 17 SRC=aa246.a 

最后:AWK入门: http : //www.grymoire.com/Unix/Awk.html