実行中のプログラムと開いているポートを監視する方法は?

実行中のプログラムと開いているポートを監視する方法は?

さて、Debianで実行されているプログラムを監視したいと思います。たとえば、私のインスタンスで複数のプログラムが実行されており、出力を取得し、プログラムnetstat -plntとそのポートが何であるかを確認できます。例:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      65/sshd
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      656/mysqld
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      631/redis-server
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1023/nginx

新しいプログラムが実行されたときに電子メール/スラック通知を受け取りたいです。誰かがこれを行うことができるユーティリティやプログラムを知っていますか?

ベストアンサー1

#! /bin/bash

while :; do
    running=$(netstat -plnt)
    if [ "$running" != "$newrunning" -a -n "$firstrun" ]; then
        diff -u  <(echo "$newrunning") <(echo "$running") | mail -s "New listeners!" [email protected]
    fi
    newrunning=$(netstat -plnt)
    firstrun=1
    sleep 1
done

このスクリプト(明らかにルートで実行する必要があります)は、受信ポートを開く新しいアプリケーション/削除されたアプリケーションについて説明します。

おすすめ記事