Skip to content

Eski SphereServer sürümleri için SphereServerdan bağımsız çalışan bir ağ izleme aracı

Notifications You must be signed in to change notification settings

canerksk/SphereServerNetworkMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ SphereServer Packet Monitor

SphereServer için geliştirilmiş, Wireshark tarzında gerçek zamanlı paket analiz ve güvenlik izleme aracı.

Version .NET C++ License

📋 İçindekiler

✨ Özellikler

🎯 Temel Özellikler

  • Gerçek Zamanlı İzleme: Tüm gelen/giden paketleri anlık olarak izleme
  • IP Bazlı Gruplandırma: Bağlantıları IP adresine göre organize etme
  • 3-Katmanlı Görünüm: Ana form → IP detayı → Paket detayı
  • UO Paket Analizi: Ultima Online paketlerini otomatik tanıma ve adlandırma
  • Hex Dump: Wireshark tarzı hex ve ASCII görünümü

🔒 Güvenlik Özellikleri

  • DDoS Koruması: Boyut bazlı saldırı tespiti ve engelleme
  • Otomatik Bağlantı Kesme: Saldırı tespit edildiğinde otomatik müdahale
  • Loopback Filtreleme: Yerel trafiği otomatik filtreleme
  • Gerçek Zamanlı Uyarılar: Saldırıları anında loglama

📊 Analiz Özellikleri

  • Paket Sınıflandırma: GAME, RAW, PARTIAL, FRAGMENT
  • Yön Takibi: RECV (Client→Server) ve SEND (Server→Client)
  • İstatistikler: Toplam paket, saldırı, benzersiz IP, paket/saniye
  • Bağlantı Süresi: Her IP için aktif kalma süresi
  • CSV Export: Tüm verileri dışa aktarma

🎨 Kullanıcı Arayüzü

  • Modern Dark Theme: Göz yormayan karanlık tema
  • Renk Kodlu Paketler:
    • 🟢 Yeşil: Game paketleri
    • 🟡 Sarı: Fragmented/Partial paketler
    • ⚪ Gri: Raw TCP paketleri
    • 🔴 Kırmızı: Saldırı paketleri
  • Gelişmiş Filtreleme: IP, paket türü, yön bazlı filtreleme
  • Canlı Arama: Paket ID ve isimlerinde gerçek zamanlı arama

📸 Ekran Görüntüleri

Ana Ekran - Bağlantı Listesi

image IP bazlı bağlantı özeti, istatistikler ve gerçek zamanlı izleme.

Bağlantı Detayları

image

Seçili IP'nin tüm paketlerinin detaylı listesi.

Paket Analizi

image

Wireshark tarzı hex dump ve ASCII görünümü.

🔧 Gereksinimler

Yazılım Gereksinimleri

  • Windows 10/11 (64-bit)
  • .NET 8.0 Runtime veya üzeri
  • Visual C++ Redistributable (2015-2022)
  • SphereServer (Ultima Online Emulator)

Geliştirme Gereksinimleri

  • Visual Studio 2022 (C# ve C++ iş yükleri)
  • .NET 8.0 SDK
  • Windows SDK 10.0 veya üzeri

📦 Kurulum

1. Binary Kurulum (Kullanıcılar için)

# Release sayfasından son sürümü indirin
# İndirilen ZIP'i açın
# PacketMonitor.exe ve Riched20.dll dosyalarını SphereServer klasörüne kopyalayın

2. Kaynak Koddan Derleme (Geliştiriciler için)

# Repository'yi klonlayın
git clone https://github.com/canerksk/SphereServerNetworkMonitor.git
cd SphereServerNetworkMonitor

# C# Projesini derleyin
cd SphereServerNetworkMonitor
dotnet build -c Release

# C++ DLL'yi derleyin (Visual Studio ile)
# Riched20.sln dosyasını açın ve Release modunda derleyin

3. Yapılandırma

PacketFiltering.ini dosyasını oluşturun (veya otomatik oluşacak):

[Settings]
PacketSize=13366
LogDirectory=logs\packet

🚀 Kullanım

Başlangıç

  1. PacketMonitor.exe programını çalıştırın
  2. "Pipe Server hazır" mesajını bekleyin
  3. SphereServer uygulamasını başlatın
  4. Bağlantı otomatik olarak kurulacaktır

İş Akışı

1. Ana Ekran
   └─> IP listesini görüntüleyin
   └─> İstatistikleri takip edin
   └─> IP'ye çift tıklayın

2. Bağlantı Detayları
   └─> O IP'nin tüm paketlerini görün
   └─> Filtreleme yapın (RECV/SEND/GAME)
   └─> Pakete çift tıklayın

3. Paket Detayları
   └─> Hex dump inceleyin
   └─> ASCII içeriği görün
   └─> Hex veriyi kopyalayın

Filtreleme Örnekleri

Ana Ekranda:
- IP Ara: "192.168" → Belirli subnet
- Filtre: "Sadece Attacks" → Sadece saldırı paketleri

Bağlantı Detayında:
- Filtre: "RECV" → Sadece gelen paketler
- Filtre: "GAME" → Sadece game paketleri
- Ara: "0x80" → Login paketleri
- Ara: "Login" → İsme göre arama

⚙️ Yapılandırma

PacketFiltering.ini

Parametre Açıklama Varsayılan
PacketSize Maksimum paket boyutu (byte). Bunun üzeri saldırı sayılır 13366
LogDirectory Log dosyalarının kaydedileceği klasör logs\packet

Log Dosyaları

Program şu log dosyalarını oluşturur:

logs/packet/
├── info.log      # Genel bilgiler
├── success.log   # Başarılı işlemler
├── error.log     # Hatalar
├── packet.log    # Tüm paket detayları
└── loopback.log  # Filtrelenen loopback trafiği

🏗️ Mimari

Sistem Mimarisi

┌─────────────────────────────────────────────────────────┐
│                    PacketMonitor.exe                     │
│                    (WinForms + .NET 8)                   │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
│  │   MainForm   │─▶│ConnectionForm│─▶│ PacketDetail │  │
│  │ (IP Listesi) │  │ (Paket List) │  │  (Hex Dump)  │  │
│  └──────────────┘  └──────────────┘  └──────────────┘  │
└────────────────────────┬────────────────────────────────┘
                         │ Named Pipe
                         │ (IPC)
┌────────────────────────▼────────────────────────────────┐
│                    Riched20.dll                          │
│                   (C++ Hook DLL)                         │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
│  │  recv() Hook │  │  send() Hook │  │ Packet Parser│  │
│  └──────────────┘  └──────────────┘  └──────────────┘  │
└────────────────────────┬────────────────────────────────┘
                         │ DLL Injection
                         │ (LoadLibrary)
┌────────────────────────▼────────────────────────────────┐
│                   SphereServer.exe                       │
│                (Ultima Online Emulator)                  │
└─────────────────────────────────────────────────────────┘

Veri Akışı

1. Client → SphereServer
   └─> recv() hooked
       └─> Packet parsed
           └─> Named Pipe → PacketMonitor
               └─> UI güncelleme

2. SphereServer → Client
   └─> send() hooked
       └─> Packet parsed
           └─> Named Pipe → PacketMonitor
               └─> UI güncelleme

Paket Format

Named Pipe üzerinden gönderilen mesaj formatı:

Direction|IP|Size|PacketID|PacketType|PacketName|IsAttack|ExpectedLen|HexData

Örnek:
RECV|192.168.1.100|62|0x80|GAME|Login Request|0|62|8000000...

🎮 Desteklenen Paketler

Client → Server (IN)

  • 0x00 - Create Character
  • 0x02 - Movement Request
  • 0x80 - Login Request
  • 0x91 - Game Server Login
  • 0xA0 - Server Select
  • 0xBF - Extended Command
  • ve daha fazlası...

Server → Client (OUT)

  • 0x1B - Player Start
  • 0x1C - ASCII Message
  • 0x20 - Player Update
  • 0x55 - Login Complete
  • 0xAE - Unicode Message
  • 0xB0 - Gump Dialog
  • ve daha fazlası...

Tam liste için Packet Table referansına bakın.

🔬 Teknik Detaylar

Hook Mekanizması

DLL, SphereServer'ın ws2_32.dll fonksiyonlarını hook'lar:

recv()  → HookedRecv()  → Paket analizi → Named Pipe
send()  → HookedSend()  → Paket analizi → Named Pipe

Paket Tespiti

1. recv()/send() çağrısı yakalanır
2. IP adresi ve socket bilgisi alınır
3. Loopback (127.0.0.1) filtrelenir
4. UO paket ID'si (ilk byte) okunur
5. Paket tipi belirlenir:
   - GAME: Bilinen UO paketi
   - RAW: Bilinmeyen paket
   - PARTIAL: Henüz tamamlanmamış
   - FRAGMENT: Parçalı paket
6. Named Pipe üzerinden gönderilir

Named Pipe İletişimi

  • Pipe Adı: \\.\pipe\PacketGuardianPipe
  • Mod: Byte mode, asynchronous
  • Direction: Unidirectional (DLL → WinForms)
  • Retry: Otomatik yeniden bağlanma

📊 Performans

  • CPU Kullanımı: ~2-5% (idle), ~10-15% (yoğun trafik)
  • RAM Kullanımı: ~50-100 MB
  • Paket İşleme: ~10,000 paket/saniye
  • Maksimum Paket Depolama: 10,000 paket/IP

⚠️ Bilinen Sorunlar

  • Encryption aktifse paketler şifreli görünür
  • Çok yüksek paket trafiğinde (~50k/sn) UI donması olabilir
  • Bazı antivirus programları DLL'yi şüpheli görebilir

📝 Değişiklik Geçmişi

v1.0.0 (2026-01-24)

  • ✨ İlk sürüm
  • ✅ Gerçek zamanlı paket izleme
  • ✅ IP bazlı gruplandırma
  • ✅ UO paket tespiti
  • ✅ DDoS koruması
  • ✅ Hex dump analizi
  • ✅ CSV export

⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!

💬 Sorularınız için Issues bölümünü kullanabilirsiniz.

About

Eski SphereServer sürümleri için SphereServerdan bağımsız çalışan bir ağ izleme aracı

Resources

Stars

Watchers

Forks