Ağ Bağlantılarıyla Sıralanmış Proses Listesi

Bu Python scripti, sistemdeki her bir süreç için aktif ağ bağlantılarını sayar ve ardından bağlantı sayısına göre bu süreçleri sıralayarak görüntüler.

📜 Kod:

import psutil
import time

# Başlangıç snapshot
net_usage_start = {}
for proc in psutil.process_iter(['pid', 'name']):
    try:
        net_io = proc.net_connections(kind='inet')
        net_usage_start[proc.pid] = len(net_io)
    except (psutil.NoSuchProcess, psutil.AccessDenied):
        continue

# Bekleme süresi
time.sleep(1)

# 1 saniye sonra tekrar ölçüm
process_list = []
for proc in psutil.process_iter(['pid', 'name']):
    try:
        net_io = proc.net_connections(kind='inet')
        conn_now = len(net_io)
        conn_before = net_usage_start.get(proc.pid, 0)
        diff = conn_now - conn_before
        process_list.append({'pid': proc.pid, 'name': proc.info['name'], 'conn_diff': diff, 'conn_now': conn_now})
    except (psutil.NoSuchProcess, psutil.AccessDenied):
        continue

# Sıralama: bağlantı sayısına göre
sorted_processes = sorted(process_list, key=lambda x: x['conn_now'], reverse=True)

# Sonuçları yazdır
print(f"{'PID':>6} {'Bağlantı':>10} {'Program Adı'}")
print("-" * 40)
for proc in sorted_processes:
    print(f"{proc['pid']:>6} {proc['conn_now']:>10} {proc['name']}")

# Konsol açık kalsın
input("\nÇıkmak için Enter tuşuna bas...")

📋 Kullanım Talimatları:

  1. Gerekli Kütüphane: psutil modülünü yüklemek için aşağıdaki komutu kullanabilirsiniz: pip install psutil
  2. Scripti Çalıştırma:
    • Terminal veya komut istemcisinde scripti çalıştırın:
    python ağ_siralamali_proses_listesi.py
    • Script çalıştığında, sistemdeki tüm süreçler için aktif ağ bağlantılarını sayacak ve bunları bağlantı sayısına göre sıralayarak konsola yazdıracaktır.
  3. Sonuç:
    • Script, her bir prosesin PID’sini, bağlantı sayısını ve proses adını yazdıracaktır. Bağlantı sayısı en fazla olan süreçler en üstte yer alır.

🖥️ Çıktı Örneği:

PID    Bağlantı Program Adı
----------------------------------------
12345        12 chrome.exe
23456         8 firefox.exe
34567         5 python.exe
45678         3 explorer.exe
...

Çıkmak için Enter tuşuna bas...

🛠️ Açıklamalar:

  • net_connections(kind='inet'): Her bir süreç için aktif ağ bağlantılarını sayar.
  • Bekleme Süresi: İki ölçüm arasındaki farkı görmek için 1 saniye beklenir.
  • Bağlantı Farkı: İlk ve ikinci ölçümler arasındaki fark hesaplanır ve bu değer, her bir sürecin ağ bağlantılarındaki değişikliği gösterir.
  • Sıralama: Bağlantı sayısına göre süreçler sıralanır (en fazla bağlantı olan en üstte).
13:13 tarihinde, Programlama kategorisinde yayınlanmış, RSS 2.0 ile takip edebilir, yorum bırakabilir.

Güncellenme Tarihi: 20 Nisan 2025 - 13:13

Görüşlerinizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir