我想解析邮件日志文件,最初看起来像这样:
2018-10-23 23:27:51,026 INFO [ImapServer-4] [ip=10.10.11.50;oip=168.232.24.2;via=10.10.11.50(nginx/1.7.1);ua=Zimbra/8.8.7_GA_1964;cid=127325;] imap - authentication failed for [[email protected]] (invalid password)
对于关键字,可以是:“无效密码”或“身份验证失败”
目标是按“OIP”(原始 IP)或用户 MAIL 帐户对它们进行排序,在第一种情况下查看攻击 IP,在第二种情况下查看哪个用户帐户受到攻击。
这些应该是 2 个命令行(将它们合并到我的 bash 脚本中,以便于管理邮件服务器)。
我来到的是这样的:
cat /opt/zimbra/log/mailbox.log | grep "invalid password" | awk -F " " '{print $1 $2 $5 $11 }'
...但我被困在那里。我不知道如何从“oid=”双重解析攻击者 IP 并对结果进行一些“uniq”和“sort”。我试图得到这样的结果:
案例 1 - 显示攻击 IP,按无效登录次数排序:
37 1.2.3.4
16 3.4.5.6
8 6.7.8.9
案例 2 - 显示被攻击的 MAIL 帐户,按无效登录次数排序:
128 [email protected]
37 [email protected]
6 [email protected]
然后,我将手动运行我的(上面的)单线以进行更深入的分析,但是对于概述,您能帮我使用 AWK 或 cut 或 sed 命令吗?