import pyshark import signal import os from datetime import datetime # Paketleri kaydetmek için bir liste captured_packets = [] # Yakalamayı durdurmak için işaretleyici is_capturing = True def signal_handler(sig, frame): global is_capturing is_capturing = False print("\nYakalama işlemi durduruldu. Paketler kaydediliyor...") # Masaüstüne kaydetme işlemi desktop_path = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') if os.name == 'nt' else os.path.join(os.path.expanduser('~'), 'Desktop') file_name = f"captured_packets_{datetime.now().strftime('%Y%m%d_%H%M%S')}.txt" file_path = os.path.join(desktop_path, file_name) with open(file_path, 'w') as f: for packet in captured_packets: f.write(f"{packet}\n") print(f"Paketler kaydedildi: {file_path}") exit(0) # Yakalamayı durdurmak için Ctrl+C işaretçisi signal.signal(signal.SIGINT, signal_handler) def capture_packets(interface='eth0'): print(f"{interface} arayüzünde ağ paketi yakalanıyor. Yakalamayı durdurmak için Ctrl+C'ye basın.") # Canlı paket yakalama capture = pyshark.LiveCapture(interface=interface) for packet in capture.sniff_continuously(): if not is_capturing: break # TCP ve HTTP paketlerini filtrele if 'TCP' in packet or 'HTTP' in packet: print(f"Yeni paket yakalandı: {packet}") captured_packets.append(str(packet)) if __name__ == "__main__": # İlgili ağ arayüzünü burada belirtin (eth0, wlan0 vs.) capture_packets(interface='wlan0')