
解決策は未解決です
それで、私たちは少数のサーバー、たくさんのポートです。 ポートのオープン性を古典的にチェックします-nmap
出力例:
firewall:~/scripts# nmap 192.168.1.1 -p3389
Starting Nmap 4.11 ( www.insecure.org/nmap ) at 2009-05-06 14:54 GMT-4
Interesting ports on 192.168.1.1:
PORT STATE SERVICE
3389/tcp open ms-term-serv
MAC Address: 00:50:8D:EB:7E:08 (Abit Computer)
Nmap finished: 1 IP address (1 host up) scanned in 0.132 seconds
これは、ターミナルサーバーが起動していることを意味し、おそらく動作します:)
オープンの代わりに何か他のものが書かれている場合-それに応じて横棒、それは通知する必要があります。
長い間、メッセージシステムを発明しました。 最も困難なものから、最も単純なものへ。 蜂にはこのようなmailtosmsサービスがあり、890912345678 @ sms.beemail.ruの形式のメールボックスにレターを送信すると、テキストメッセージで問題ありません。
そのため、タスクは、サーバーとポートのリストからすべての行をスキャンし、開いていないものをスキャンすることです。それを別のファイルに書き出し、石鹸のために送信してください。
何が起こった:
#!/ bin / bash
in a $ ( <サーバー) ; nmap ` echo $ a | sed -e 's /:/ -p /' ' | grep -q "/ tcp * open" || echo $ a ; done > / var / test / serverlist;
DATENOW = $ ( 日付 + % d- % m- % Y_ % T )
if ( ! ( [ - z $ ( cat / var / test / serverlist ) ] ) ) ) ) ; それから
echo $ DATENOW >> / var / test / log
cat / var / test / serverlist >> / var / test / log
メール7909 ******* @ sms.beemail.ru < / / var / test / serverlist
fi
出る
どのように機能しますか?
サーバーファイルを作成し、スクリプト自体の横に配置します。
サーバーファイルの内容は次のようなものです。
192.168.1.1:80
192.168.1.2:25
192.168.1.3:110
まあ、一般的に、それは明らかです
コマンドsed -e 's /:/ -p /' 'は、「:」を「-p」に置き換えます
a in in $(<サーバー); nmap `echo $ a | sed -e 's /:/ -p /' ' -nmapに結果を送ります
grep -q "/ tcp * open" || echo $ a; done> / var / test / serverlist; -ポートが開いていない場合は行を取り出し、 serverlistファイルにプッシュします
その後、ファイル内の何かがチェックされ、そこに何かがある場合、ログに書き込まれ(デバッグ用)、管理者の石鹸/電話に送信されます。
出来上がり。 1時間に1回(気にしないように)crontabに追加して使用します
ZYZH nagiosや他のネットワークモニターのようなものがあることは知っていますが、複数のサーバーのポートを単純にスキャンするだけで十分な場合、それらは強力すぎて設定が困難です。