我在一个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?