SphereServer için geliştirilmiş, Wireshark tarzında gerçek zamanlı paket analiz ve güvenlik izleme aracı.
- Özellikler
- Ekran Görüntüleri
- Gereksinimler
- Kurulum
- Kullanım
- Yapılandırma
- Mimari
- Katkıda Bulunma
- Lisans
- 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ü
- 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
- 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
- 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
IP bazlı bağlantı özeti, istatistikler ve gerçek zamanlı izleme.
Seçili IP'nin tüm paketlerinin detaylı listesi.
Wireshark tarzı hex dump ve ASCII görünümü.
- Windows 10/11 (64-bit)
- .NET 8.0 Runtime veya üzeri
- Visual C++ Redistributable (2015-2022)
- SphereServer (Ultima Online Emulator)
- Visual Studio 2022 (C# ve C++ iş yükleri)
- .NET 8.0 SDK
- Windows SDK 10.0 veya üzeri
# 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# 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 derleyinPacketFiltering.ini dosyasını oluşturun (veya otomatik oluşacak):
[Settings]
PacketSize=13366
LogDirectory=logs\packet- PacketMonitor.exe programını çalıştırın
- "Pipe Server hazır" mesajını bekleyin
- SphereServer uygulamasını başlatın
- Bağlantı otomatik olarak kurulacaktır
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
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
| 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 |
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
┌─────────────────────────────────────────────────────────┐
│ 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) │
└─────────────────────────────────────────────────────────┘
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
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...
0x00- Create Character0x02- Movement Request0x80- Login Request0x91- Game Server Login0xA0- Server Select0xBF- Extended Command- ve daha fazlası...
0x1B- Player Start0x1C- ASCII Message0x20- Player Update0x55- Login Complete0xAE- Unicode Message0xB0- Gump Dialog- ve daha fazlası...
Tam liste için Packet Table referansına bakın.
DLL, SphereServer'ın ws2_32.dll fonksiyonlarını hook'lar:
recv() → HookedRecv() → Paket analizi → Named Pipe
send() → HookedSend() → Paket analizi → Named Pipe1. 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- Pipe Adı:
\\.\pipe\PacketGuardianPipe - Mod: Byte mode, asynchronous
- Direction: Unidirectional (DLL → WinForms)
- Retry: Otomatik yeniden bağlanma
- 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
- 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
- ✨ İ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.