netcat ile port kontrol script’i

netcat kullanarak aşırı yükten dolayı cevap veremeyen/çalışmayan portlardan haberdar olabileceğimiz bir linux betiği yazmamız gerekirse;

#!/bin/bash
date
host=127.0.0.1
for port in  25 80 110 443 3306
do
if ! nc -n -z -w 1 $host $port
then
sonuc=${sonuc}" "$port
fi
done
if [ -n "${sonuc+x}" ]; then
echo Cevap vermeyen portlar : $sonuc
echo Cevap vermeyen portlar $sonuc | mail -s "baslik" alici1@e-mail.com,alici2@e-mail.com
fi

not1: nc(netcat) komutundaki -n parametresi dns sorgusunu iptal eder, -z bağlantıyı kontrol eder, -w 1 zamanaşımı süresini 1 saniye olarak belirler.

not2: crontab a da */5 * * * * şeklinde girilip sonuçları da log dosyasına kaydedilirse izlemek daha kolay olabilir.