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
BashOluşturduğumuz .SH dosyasını Düzenleyelim.
$ nano port_scanner.sh
BashShellScript Kodunu Yazalım
read -p "Hedef IP adresini girin: " ip_address
ShellScriptKullanı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
ShellScriptKullanı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
ShellScriptKullanı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
ShellScriptEkrana 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
ShellScriptBu 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.
Kayıt Edelim
CTRL + X
Çalıştırmadan önce İzni veriyoruz.
$ sudo chmod +x port_scanner.sh
BashÇalıştırmak İçin.
$ ./port_scanner.sh
Bash