查看Postfix连接的实时列表

我在一个linux上运行postfix几百个本地用户的邮箱。

有没有办法监视所有传入连接(SMTP)的Postfix服务? 即“IP地址xxxx刚刚连接到Postfix服务器”和“IP地址yyyy刚刚断开连接”的直播stream?

我想监视所有传入的连接,所以我可以寻找相同的IP地址试图发送多个垃圾邮件给我的用户或可能尝试中继的趋势(这不是一个开放的中继顺便说一句!)。

只要将所有连接和断开连接(列出的IP地址)转储到文本文件或系统日志中,都是完美的。 或者可能还有另一种更好的方法?

谢谢!

postfix会logging每个连接,并且日志行看起来像

Jul 8 16:25:15 swiss postfix/smtpd[11127]: connect from some.host.or.other [192.0.2.1] 

所以你可以tail -F你的日志文件(在我的系统上它是/var/log/mail.log ),使用grep过滤你想要的行,并观看实时stream量。

上面的海报很接近。

tail允许您查看文件中的最后10行。 -f开关允许您在添加到maillog文件时查看新行。

 cd /var/log tail -f maillog 

按Ctrl + C来转义。

看到这已经写入到一个名为/var/log/maillog ,不知道为什么你想创build另一个文件,除非你想提取特定的信息。

如果你只想阅读maillog,使用你最喜欢的编辑器或做这个:

 less maillog 

点击Enter (返回)键将文件一次向下移动一行,或者您可以点击Page Down键进行全屏移动。

按住q键将使你逃脱。

我发现以下有用的:

 tail -f maillog | grep connect 

但是,如果你想要,你可以grep断开连接或特定的IP?