当连接到特定端口时(在防火墙中打开),Mac OS X 会通过电子邮件报告

当连接到特定端口时(在防火墙中打开),Mac OS X 会通过电子邮件报告

我在 Mac 上为特定服务打开了端口。一旦与感兴趣的端口之一建立连接,是否有办法通过电子邮件 (Smtp) 发送操作系统报告?

答案1

最简单的解决方案 - 使用 crontab。创建类似以下内容的文件:

#!/bin/sh
t=1197
while [ $t -gt 0 ]; do
ports="$(netstat -n | grep "ESTABLISHED" | awk '{print $4}' | grep -E '.*\.(80|5500|and other interested ports)$')"
if [ "$ports" ];
then t=0; echo $ports | mail -s "subject" [email protected]
fi
sleep 3
t=$((t-3))
done

将其另存为123.sh并使其可执行:chmod +x /path/to/123.sh。在您的用户目录.crontab文件中创建:

*/20 * * * * /path/to/123.sh

每 3 秒将执行一次检查,但通知之间的时间差不会少于 20 分钟,以免成为垃圾邮件。您可以根据需要将这些数字更改为其他数字。最后 - 您需要将 crontab 守护程序指定到文件:crontab ~/.crontab

相关内容