Bu proje, düşük seviyeli IP katmanı manipülasyonu ile güvenli dosya transferi gerçekleştiren bir sistemdir. Geleneksel dosya transferlerinden farklı olarak, ağ paketlerini doğrudan işleyerek güvenlik, performans analizi ve çeşitli ağ koşullarında dosya aktarımı testleri yapabilmenizi sağlar.
- 📤 Ağ üzerinden dosya gönderme ve alma desteği
- 📦 Büyük dosya transferleri için manuel paket parçalama ve birleştirme
- 🛠️ Hasarlı veya kayıp paketler için hata tespit ve düzeltme mekanizmaları
- 🔐 İletim sırasında dosyaları korumak için AES/RSA şifreleme
- 🛂 Transferden önce istemci kimlik doğrulaması
- ✅ SHA-256 ile bütünlük doğrulaması
- 📝 IP başlıklarını (bayraklar, TTL, sağlama toplamı, parçalama) manuel olarak düzenleme
- 🧮 İletim öncesi IP sağlama toplamını hesaplama ve doğrulama
- 🧩 Alıcı tarafında paket birleştirme analizi
- ⏱️ Gecikme ölçümü (ping, RTT hesaplamaları)
- 📈 iPerf ve paket analizi ile bant genişliği ölçümü
- 🚦 tc kullanarak paket kaybı ve ağ tıkanıklığı simülasyonu
- 📡 Farklı ağ koşullarının karşılaştırılması (Wi-Fi vs kablolu, yerel vs uzak)
- 🕵️ Wireshark ile paketleri yakalama ve analiz etme
- 🥷 Araya girme (MITM) ve paket enjeksiyonu saldırıları simülasyonu
- 🔐 Şifreleme ile paket yakalamalarda verilerin okunamaz olması sağlama
- 📱 Grafiksel arayüz (GUI) ile kolay kullanım
- 📊 Transfer durumu ve detaylı istatistikler görselleştirme
- 📝 Ağ analizleri için görsel raporlama
- Programlama Dili: Python
- Ağ Paket İşleme: Scapy
- Şifreleme Kütüphaneleri: cryptography, hashlib
- Grafiksel Arayüz: PyQt5
- Veri Görselleştirme: matplotlib
- Ağ Analiz Araçları: Wireshark, tc
- Python 3.7+
- pip paket yöneticisi
- Gerekli kütüphaneler için
requirements.txtdosyası
-
Projeyi İndirin:
git clone https://github.com/enesbabekoglu/SecureFileTransfer-IPLayer.git cd SecureFileTransfer-IPLayer -
Sanal Ortam Oluşturun (Opsiyonel ama önerilen):
python -m venv venv # Windows için: venv\Scripts\activate # Linux/Mac için: source venv/bin/activate
-
Gerekli Kütüphaneleri Yükleyin:
pip install -r requirements.txt
-
Anahtar Çiftlerini Oluşturun:
python generate_keys.py
Bu komut
keysdizininde RSA anahtar çiftleri oluşturacak.
Projeyi başlatmak için sağlanan script dosyalarından birini çalıştırabilirsiniz:
Linux/Mac için:
./baslat.shWindows için:
baslat.bat- Ana menüden "Sunucu Modu"nu başlatın
- Başka bir bilgisayardan "İstemci Modu"nu başlatın
- İstemci modunda:
- Sunucu IP adresini girin
- Göndermek istediğiniz dosyayı seçin
- İsteğe bağlı güvenlik ayarlarını yapın
- "Gönder" butonuna tıklayın
- Transfer durumunu arayüzden takip edin
- Ana menüden "Ağ Analizi" seçeneğini seçin
- İlgilendiğiniz hedef IP adresini girin
- Aşağıdaki testlerden birini uygulayın:
- RTT ölçümü
- Bant genişliği testi
- Paket kaybı simülasyonu
- Sonuçları grafiksel olarak görüntüleyin
- Ana menüden "MITM Saldırısı" seçeneğini seçin
- Hedef IP adresini ve saldırı tipini seçin
- Saldırıyı başlatın ve yakalanan paketleri analiz edin
- Şifrelemenin etkisini gözlemleyin
Sistem, ağ koşullarına göre TCP veya UDP protokollerini dinamik olarak seçebilir, böylece ağ performansını optimize edebilir.
Transfer hızı, mevcut ağ koşullarına göre otomatik olarak ayarlanarak verimli bant genişliği kullanımı sağlar.
Transfer sırasında paketlerin durumu, gecikmeleri ve bütünlüğü gerçek zamanlı olarak izlenebilir.
Bu projeye katkıda bulunmak isterseniz:
- Projeyi fork edin
- Yeni bir branch oluşturun (
git checkout -b feature/yeni-ozellik) - Değişikliklerinizi commit edin (
git commit -m 'Yeni özellik: xyz') - Branch'inizi push edin (
git push origin feature/yeni-ozellik) - Pull Request açın
Bu proje MIT Lisansı altında lisanslanmıştır.
📧 İletişim: enesbabekoglu@gmail.com 🌐 GitHub: github.com/enesbabekoglu