Küçük ve orta ölçekli altyapılarda, özellikle otomasyon ve izleme süreçlerinde TCP portlarının aktifliği ve erişilebilirliği kritik öneme sahiptir. Bash kullanarak basit ve etkili bir TCP port sağlık kontrol sistemi geliştirmek, sistem yöneticilerinin manuel kontrolleri otomasyona dökmesi açısından faydalı olabilir. Bu sistem, belirli portlara yapılan bağlantı denemeleriyle portların durumu hakkında hızlı geri bildirim sağlar.
Temel çalışma mantığı şu şekildedir: 'nc' (netcat) veya 'bash' yerleşik özellikleri kullanılarak hedef IP ve port kombinasyonlarına bağlanmaya çalışılır. Bağlantı başarılı ise port aktif, başarısız ise kapalı veya erişim engellenmiş kabul edilir. Bu doğrulama, belirli zaman aralıklarıyla veya belirli olaylar sonrası otomatik tetiklenebilir.
Örneğin, aşağıdaki komut, 192.168.1.10 IP'sindeki 22 numaralı portun durumunu kontrol eder:
12
nc -zv -w 2 192.168.1.10 22
Burada:
- '-z' port taraması yapar,
- '-v' detaylı çıktı sağlar,
- '-w 2' ise 2 saniyelik zaman aşımı belirler.
İşte temel bir Bash betiği:
1234567891011
#!/bin/bash
TARGET_IP="192.168.1.10"
PORT=22
if nc -z -w 2 "$TARGET_IP" "$PORT"; then
echo "Port $PORT açık ve erişilebilir."
else
echo "Port $PORT kapalı veya erişim engellenmiş."
fi
Daha gelişmiş versiyonlarda:
- Birden fazla portu aynı anda kontrol eden döngüler kullanılabilir.
- Elde edilen sonuçlar loglara yazılır veya uyarı sistemi tetiklenir.
- Bağlantı zaman aşımı ve hata durumları detaylı şekilde analiz edilir.
Ekstra olarak, sistemlerin güvenliği ve doğruluğu açısından:
- Bu kontrollerin periyodik yapılması,
- Güvenlik duvarı ayarlarının ve erişim kısıtlamalarının gözden geçirilmesi,
- ve sonuçların merkezi izleme sistemlerine entegrasyonu önemli.
Sizce, bu basit metodoloji büyük altyapılarda da kullanılabilir mi, yoksa daha gelişmiş araçlara mı yönelmeli?