Bien sûr ! Voici un code Python amusant pour modéliser un phénomène dans le domaine

Bien sûr ! Voici un code Python amusant pour modéliser un phénomène dans le domaine de la cybersécurité. Nous allons créer un modèle simple de simulation d’une attaque de type « Man-in-the-Middle » (MitM) sur un réseau. Imaginez un monde où des pirates informatiques essayent de voler des données entre un serveur et un client. Notre but est de voir combien de temps il leur faut pour réussir leur attaque.

« `python
import random
import time

# Fonction pour simuler une tentative d’attaque MitM
def simulate_mitm_attack(attack_strength, defense_strength):
print(« Un pirate informatique essaie de voler des données entre un serveur et un client ! »)
time.sleep(1)
print(« Le pirate a une force d’attaque de: », attack_strength)
print(« Le serveur a une force de défense de: », defense_strength)
time.sleep(1)
print(« Le combat commence ! »)
time.sleep(1)

# Simulation de l’attaque
attempts = 0
while attack_strength > defense_strength:
attempts += 1
print(« Attaque n° », attempts)
time.sleep(0.5)
print(« Le pirate essaie de trouver une faille… »)
time.sleep(1)
if random.random() < 0.5: print("Le serveur détecte l'attaque et renforce sa défense !") defense_strength += random.randint(1, 5) else: print("Le pirate trouve une faille !") defense_strength -= random.randint(1, 3) if attack_strength <= defense_strength: print("Le serveur a réussi à repousser l'attaque !") else: print("Le pirate a réussi à voler les données après", attempts, "tentatives !") return attempts # Simulation de plusieurs attaques print("Bienvenue dans le monde fascinant de la cybersécurité !") time.sleep(1) print("Nous allons simuler plusieurs attaques MitM pour voir ce qui se passe...") time.sleep(1) num_simulations = 5 for i in range(num_simulations): attack_strength = random.randint(10, 30) defense_strength = random.randint(20, 40) print(f"\nSimulation n°{i+1}") time.sleep(1) attempts = simulate_mitm_attack(attack_strength, defense_strength) print(f"Il a fallu {attempts} tentatives pour que le pirate réussisse ou soit repoussé.") print("Fin de la simulation ! Merci d'avoir joué avec nous dans ce monde de cybersécurité.") ``` ### Explication du code 1. Fonction `simulate_mitm_attack` : - Prend deux paramètres : `attack_strength` (force d'attaque du pirate) et `defense_strength` (force de défense du serveur). - Simule une attaque MitM en utilisant une boucle while où le pirate essaie de trouver une faille. - Utilise des appels à `random.random()` pour déterminer si le pirate trouve une faille ou si le serveur renforce sa défense. - Imprime des messages amusants pour rendre la simulation plus engageante. 2. Simulation de plusieurs attaques : - Exécute 5 simulations d'attaques MitM avec des forces d'attaque et de défense aléatoires. - Affiche le nombre de tentatives nécessaires pour que le pirate réussisse ou soit repoussé. Ce code est conçu pour être amusant et éducatif, tout en illustrant des concepts de base en cybersécurité. Amusez-vous bien à tester différentes configurations et à voir comment les résultats changent !

Retour en haut