У меня на Mac открыты порты для определенных служб. Есть ли способ получить отчет ОС по электронной почте (Smtp) после установления соединения с одним из интересующих портов?

1 ответ1

0

Самое простое решение - использовать 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" your_mail@mail.com
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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .