Ce projet de synthèse avancé composé uniquement de défis vous demande de compléter trois petits utilitaires de sécurité en Python : un collecteur de reconnaissance, un outil de recherche dans les journaux et un énumérateur unifié de services et de chemins. Vous transformerez des entrées locales de sockets, HTTP et journaux en artefacts JSON, texte et alerte cohérents.
Les fichiers de départ définissent les fonctions et les contrats de sortie, mais vous devez implémenter la logique opérationnelle. Toute l’activité réseau reste sur des services de bouclage simulés : l’objectif est l’automatisation fiable, et non le scan externe ou l’exploitation.
Ce que vous apprendrez
- Capturer une bannière de type SSH par un socket TCP brut à partir d’une cible configurée en JSON
- Interroger un endpoint HTTP local avec Requests et conserver le statut et le corps
- Normaliser des résultats de reconnaissance hétérogènes dans un schéma JSON cohérent
- Lire et nettoyer les lignes d’un journal d’accès pour une analyse ultérieure reproductible
- Extraire des requêtes de type injection SQL avec une expression régulière prédéfinie
- Compter les occurrences par IP source et émettre une alerte uniquement au dépassement d’un seuil
- Scanner des ports TCP configurés et distinguer les services HTTP accessibles des autres sockets
- Énumérer des chemins Web candidats, conserver les résultats
200et403et consolider la sortie du flux
À qui s’adresse ce cours
Ce cours s’adresse aux personnes expérimentées en Python ayant déjà pratiqué les fonctions, fichiers, JSON, expressions régulières, sockets et requêtes HTTP et souhaitant un projet de synthèse autonome en automatisation de la sécurité. Il convient aux futurs ingénieurs sécurité, pentesteurs et analystes de détection qui veulent transformer des vérifications manuelles en utilitaires reproductibles.
Prérequis : Solides compétences en Python 3 et dans un shell Linux ; connaissance des fonctions, exceptions, entrées-sorties de fichiers, sérialisation JSON, expressions régulières, compteurs, sockets TCP, codes d’état HTTP et de la bibliothèque Requests.
Environnement d’apprentissage : Une VM LabEx Ubuntu 22.04 avec des scripts Python de départ, un journal d’accès synthétique de six lignes, des entrées JSON et listes de mots, et des services TCP et HTTP locaux simulés sur 127.0.0.1. Python 3 et Requests sont fournis.
Questions fréquentes
S’agit-il d’un cours Python guidé ?
Non. C’est un projet de synthèse avancé comprenant trois évaluations sous forme de défis. Les exigences et des exemples de structures de sortie sont fournis, mais vous devez implémenter et déboguer chaque fonction vous-même.
Dois-je écrire chaque programme dans un fichier vide ?
Non. Chaque défi fournit un script de départ avec des constantes, des fonctions incomplètes et le code d’écriture des sorties. Vous implémentez la collecte, l’analyse, les alertes, le scan et l’énumération manquants.
Les outils vont-ils scanner des systèmes externes ?
Non. Les connexions socket et requêtes HTTP ciblent uniquement des services simulés sur 127.0.0.1, et le journal est un fichier synthétique local. Aucun système Internet ni compte cloud n’est impliqué.
La boîte à outils unifiée exploite-t-elle des vulnérabilités ?
Non. Elle vérifie une courte liste de ports configurés, identifie le service de type HTTP et consigne les chemins intéressants qui renvoient 200 ou 403. Elle n’exploite aucun endpoint, ne modifie pas le pare-feu et n’établit aucun shell.


