Merhabalar, Gelişme ve geliştirme amacıyla Shell Script Üzerinden basit bir port scanner yapacağız.
.SH Dosyamızı Oluşturalım. touch port_scanner.sh
Oluşturduğumuz .SH dosyasını Düzenleyelim. nano port_scanner.sh
nano Editör Açıldığında şu kodları yazalım.
read -p "Hedef IP adresini girin: " ip_address
Kullanıcıdan hedef IP adresini girmesini isteyen bir girdi okuma komutudur. Kullanıcının girdisi, ip_address
değişkenine atanır.
read -p "Tarama başlangıç portunu girin: " start_port
Kullanıcıdan taramanın başlangıç portunu girmesini isteyen bir girdi okuma komutudur. Kullanıcının girdisi, start_port
değişkenine atanır.
read -p "Tarama bitiş portunu girin: " end_port
Kullanıcıdan taramanın bitiş portunu girmesini isteyen bir girdi okuma komutudur. Kullanıcının girdisi, end_port
değişkenine atanır.
echo "Port tarama başlatılıyor..."
echo "Hedef IP: $ip_address"
echo "Başlangıç portu: $start_port"
echo "Bitiş portu: $end_port"
echo
Ekrana bilgilendirme mesajları yazdıran komutlardır. Kullanıcının girdiği IP adresi, başlangıç portu ve bitiş portunu görüntüler.
for ((port=start_port; port<=end_port; port++))
do
timeout 1 bash -c "echo >/dev/tcp/$ip_address/$port" 2>/dev/null &&
echo "Port $port açık" ||
echo "Port $port kapalı"
done
Bu döngü, belirtilen başlangıç ve bitiş portları arasında bir dizi port üzerinde iterasyon yapar. Her bir iterasyonda, timeout
komutu kullanılarak belirli bir süre içinde /dev/tcp
üzerinden hedef IP adresine ve porta bağlantı denemesi yapılır. Bağlantı başarılıysa, yani port açıksa “Port X açık” mesajı yazdırılır. Aksi halde, yani port kapalıysa “Port X kapalı” mesajı yazdırılır.
Kodları yazdıktan sonra kaydetmek için CTRL+X
Yazıp Kaydediyoruz.
Çalıştırmadan önce İzni veriyoruz. sudo chmod +x port_scanner.sh
Çalıştırmak İçin . ./port_scanner.sh
Script Çalışacaktır. Elinize Sağlık …
Not: IP yerine HostName de Kullanılabilir.
Saygılar…