用于跟踪 mailexim 中 smtp 登录次数最多的命令

用于跟踪 mailexim 中 smtp 登录次数最多的命令

有人能帮我写一个命令来跟踪 exim 中登录次数最多的吗?此外,如何获取邮件 exim 中经过身份验证的 smtp 登录次数最多?

答案1

你并没有真正提供太多细节,所以这里有一个完全按照你要求做的一行代码(不多也不少):

perl -e '
  while(<>){if(/ A=(?:login|plain):(\S+) /){$found->{$1}++;}}
  @sorted=(sort {$found->{$a} <=> $found->{$b}} keys %$found);
  printf "%s: %d\n", $sorted[-1], $found->{$sorted[-1]}."\n";
' < /var/log/exim/main.log

这是一行很长的代码,我只是为了方便阅读而把它分开(并且防止代码块出现巨大的水平滚动条)。

另一种方法是,如果您想查看所有超过某个最低阈值的邮箱和计数(如果您想查看全部,则将其设置为零):

perl -e '
  $limit = 10; 
  while(<>){if(/ A=(?:login|plain):(\S+) /){$found->{$1}++;}}
  @sorted=(sort {$found->{$a} <=> $found->{$b}} keys %$found);
  foreach my $loop (@sorted) {
    printf "%s: %d\n", $loop, $found->{$loop}."\n"
      if ($found->{$loop} > $limit);
  }
' < /var/log/exim/main.log

相关内容