5 — Programlama Dilleri
Python, C, JavaScript ve Bash — siber güvenlikte en çok kullanılan programlama dilleri ve kullanım alanları.
💡 Neden Programlama?
Siber güvenlikte programlama bilmek, araçları etkin kullanmaktan öte araç geliştirme, exploit yazma, otomasyon ve tersine mühendislik yapabilme yeteneği kazandırır.
Python
Siber güvenlikte en çok kullanılan dil. Exploit geliştirme, otomasyon, ağ tarama, web scraping, malware analizi gibi alanlarda yaygındır. Kolay sözdizimi ve zengin kütüphaneleri ile hızlı prototipleme sağlar.
C / C++
Düşük seviye sistem programlama. Buffer overflow, memory corruption gibi güvenlik açıklarını anlamak için C bilgisi şarttır. İşletim sistemi çekirdekleri, driverlar ve güvenlik araçları C ile yazılır.
JavaScript
Web güvenliğinde kritik. XSS (Cross-Site Scripting) saldırılarını anlamak ve önlemek için JavaScript bilgisi gereklidir. Node.js ile sunucu taraflı geliştirme de mümkündür.
Bash Scripting
Linux komut satırı otomasyonu. Tekrarlayan görevleri otomatikleştirmek, sistem yönetimi, log analizi ve pentest süreçlerinde Bash scriptleri vazgeçilmezdir.
🐍 Python Örnek: Basit Port Tarayıcı
import socket
import sys
from datetime import datetime
def scan_ports(target, start_port, end_port):
"""Belirtilen hedefte port taraması yapar"""
print(f"\n[*] Hedef: {target}")
print(f"[*] Tarama başlangıcı: {datetime.now()}")
print("-" * 50)
open_ports = []
for port in range(start_port, end_port + 1):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)
result = sock.connect_ex((target, port))
if result == 0:
print(f"[+] Port {port}: AÇIK")
open_ports.append(port)
sock.close()
print("-" * 50)
print(f"[*] Tarama tamamlandı: {datetime.now()}")
print(f"[*] Toplam açık port: {len(open_ports)}")
return open_ports
# Kullanım
if __name__ == "__main__":
target = "127.0.0.1"
scan_ports(target, 1, 1024)
🔧 Bash Örnek: Log Analiz Scripti
#!/bin/bash
# Basit SSH brute force tespit scripti
LOG_FILE="/var/log/auth.log"
THRESHOLD=5
echo "[*] SSH başarısız giriş denemeleri analiz ediliyor..."
echo "============================================="
# Başarısız denemeleri IP'ye göre grupla
grep "Failed password" $LOG_FILE | \
awk '{print $(NF-3)}' | \
sort | uniq -c | sort -rn | \
while read count ip; do
if [ "$count" -ge "$THRESHOLD" ]; then
echo "[!] UYARI: $ip - $count başarısız deneme"
fi
done
echo "============================================="
echo "[*] Analiz tamamlandı."
📝 Notlar 0