Home

zhangyiqun

Thoughts, stories and ideas.

Notes Blog Archives About
21 Feb 2009

由提取ssh登陆失败日志联想到的ip匹配问题

要求:统计非法尝试ssh用户登陆的ip及其尝试次数

sed -n ‘/sshd.*Failed.*password/p’ /var/log/secure awk ‘{for (count=1;count<=NF;count++){if ($count ~ /[0-9][0-9]?[0-9]?./) {print $count}}}’ sort uniq -c sort -nr

因为是朋友的面试题,当时做只顾着速度了,所以正则中有颇多不严谨之处(不严谨也是相对而言,因为一般情况下该文件不会出现十分非主流ip地址)。

以下的联想主要针对非主流ip地址,比如999.12.999.1

实际上这是个极无聊的设想,下面是极无聊的正则

awk ‘{for (count=1;count<=NF;count++){if ($count ~ /(2[0-4][0-9] 25[0-5] [01]?[0-9][0-9]?).(2[0-4][0-9] 25[0-5] [01]?[0-9][0-9]?).(2[0-4][0-9] 25[0-5] [01]?[0-9][0-9]?).(2[0-4][0-9] 25[0-5] [01]?[0-9][0-9]?))/) {print $count}}}’

Notes Blog Archives About