Skip to content

urbanyl/C2Sniff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C2Sniff

C2Sniff est un outil complet d'inspection et de capture de trafic HTTP/HTTPS, développé de A à Z en Python et PyQt6, inspiré d'outils comme Fiddler ou Charles Proxy.

Fonctionnalités Principales

  • Capture locale de trafic HTTP/HTTPS : Intègre un proxy MITM performant (basé sur le moteur mitmproxy) capable d'intercepter et décoder les flux SSL/TLS avec génération de certificats à la volée.
  • Interface Utilisateur Moderne : Interface PyQt6 fluide avec prise en charge du mode sombre, tableau de bord en temps réel et vue fractionnée (split-view) des requêtes/réponses.
  • Visualisation Détaillée : Affichage structuré des en-têtes et du contenu (Headers, JSON, XML, Plain text).
  • Module de Replay : Modification dynamique des requêtes capturées (méthodes, headers, body) et réémission à la volée avec retour direct du résultat.
  • Export Multi-formats : Sauvegarde des traces de sessions en format JSON et CSV pour analyse externe.

Architecture Modulaire

Le projet est découpé selon une architecture modulaire :

  • main.py : Point d'entrée de l'application.
  • c2sniff/proxy/engine.py : Moteur asynchrone MITM proxy tournant dans un thread séparé pour ne pas bloquer l'UI.
  • c2sniff/ui/ : Contient l'interface PyQt6 (main_window.py pour la fenêtre principale, replay_dialog.py pour le module de réémission).
  • c2sniff/utils/ : Outils transverses (exportateurs CSV/JSON).
  • tests/ : Suite de tests unitaires utilisant pytest.

Prérequis

  • Python 3.10 ou supérieur
  • Pip (Gestionnaire de paquets)

Installation

  1. Cloner ou télécharger le dépôt.
  2. Créer un environnement virtuel (recommandé) :
    # Sur Windows :
    py -m venv venv
    venv\Scripts\activate
    # Sur macOS/Linux :
    python3 -m venv venv
    source venv/bin/activate
  3. Installer les dépendances :
    pip install -r requirements.txt

Utilisation

Lancer l'application via :

# Sur Windows :
py main.py
# Sur macOS/Linux :
python3 main.py
  • Cliquez sur Start Proxy pour lancer le serveur proxy local (par défaut sur 127.0.0.1:8080).
  • Configurez le proxy de votre système ou de votre navigateur pour pointer vers cette adresse.
  • Le trafic apparaîtra en temps réel dans le tableau.
  • Sélectionnez une requête et utilisez Replay Request pour la modifier et la renvoyer.
  • Utilisez Export Flows pour sauvegarder votre session.

Tests Unitaires

Pour lancer les tests unitaires :

pytest tests/

About

C2Sniff est un inspecteur HTTP léger et rapide, pensé pour analyser, filtrer et comprendre le trafic réseau avec une interface claire et directe. L’outil permet de suivre les requêtes, décoder les échanges, repérer les comportements suspects et explorer les flux sans lourdeur inutile.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages