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ı:
- Gerekli Kütüphane:
psutil
modülünü yüklemek için aşağıdaki komutu kullanabilirsiniz:pip install psutil
- 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.
- 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).