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