Quand j’ai commencé à apprendre la cybersécurité, j’ai rapidement compris qu’il ne suffisait pas seulement de connaître les réseaux, Linux ou les outils comme Nmap. Il est aussi très utile de savoir programmer.
Pour moi, Python est probablement l’un des meilleurs langages pour commencer. Il est assez simple à comprendre, sa syntaxe est claire et il est beaucoup utilisé dans la cybersécurité.
Dans cet article, je vais expliquer les bases de Python qu’il faut apprendre au début et comment progresser petit à petit pour pouvoir l’utiliser dans des projets liés à la cybersécurité.
Pourquoi apprendre Python en cybersécurité ?
Python est utilisé dans plusieurs domaines de l’informatique. En cybersécurité, il peut servir à automatiser des tâches, analyser des fichiers, travailler avec des adresses IP, communiquer avec des serveurs ou encore créer de petits outils.
Par exemple, au lieu de tester manuellement plusieurs ports sur une machine, on peut créer un script Python qui fait une partie du travail automatiquement.
Python peut aussi être utilisé pour :
- automatiser des tâches répétitives ;
- analyser des fichiers logs ;
- travailler avec des API ;
- analyser des adresses IP ;
- créer des outils réseau ;
- lire et modifier des fichiers ;
- comprendre certains scripts utilisés en sécurité.
Mais avant de faire tout cela, il faut bien apprendre les bases.
1. Commencer par les variables
Une variable permet de stocker une information.
Par exemple :
nom = "Abdessamad"
age = 20Ici, nom contient du texte et age contient un nombre.
On peut ensuite afficher ces informations :
print(nom)
print(age)On peut aussi écrire :
print("Bonjour", nom)Les variables sont utilisées presque partout dans un programme Python.
2. Comprendre les types de données
En Python, il existe plusieurs types de données.
Par exemple :
nom = "Python"
version = 3
prix = 10.5
actif = TrueIci :
str = texte
int = nombre entier
float = nombre décimal
bool = vrai ou fauxComprendre les types est important parce qu’on ne peut pas toujours utiliser du texte et des nombres de la même manière.
3. Apprendre les conditions
Les conditions permettent au programme de prendre une décision.
Par exemple :
port = 22
if port == 22:
print("SSH")
else:
print("Autre service")Le programme vérifie si le port est égal à 22.
Si c’est vrai, il affiche :
SSHLes conditions sont très importantes dans les scripts de cybersécurité.
Par exemple, on peut vérifier si une adresse IP est correcte, si un port est ouvert ou si un fichier contient une information particulière.
4. Les boucles
Les boucles permettent de répéter une action plusieurs fois.
Par exemple :
for port in range(1, 10):
print(port)Le programme va afficher les nombres de 1 à 9.
Dans les réseaux et la cybersécurité, cela peut être très utile.
Par exemple, on peut parcourir plusieurs ports :
ports = [21, 22, 80, 443]
for port in ports:
print("Test du port :", port)Au lieu d’écrire la même commande plusieurs fois, Python peut faire le travail automatiquement.
5. Les listes
Une liste permet de stocker plusieurs valeurs.
Par exemple :
ports = [21, 22, 53, 80, 443]On peut récupérer une valeur :
print(ports[0])Cela affiche :
21On peut aussi parcourir toute la liste :
for port in ports:
print(port)Les listes sont utiles pour stocker des ports, des adresses IP, des utilisateurs ou d’autres informations.
6. Les fonctions
Quand un programme commence à devenir plus grand, il est important d’utiliser des fonctions.
Une fonction permet de regrouper plusieurs instructions.
Exemple :
def bonjour(nom):
print("Bonjour", nom)
bonjour("Abdessamad")On peut aussi créer une fonction pour afficher des informations sur un port :
def afficher_port(port):
print("Analyse du port", port)
afficher_port(80)Les fonctions permettent d’avoir un code plus propre et plus facile à comprendre.
7. Lire des fichiers
Savoir travailler avec des fichiers est très important en cybersécurité.
Par exemple, un fichier peut contenir des logs ou une liste d’adresses IP.
En Python :
with open("logs.txt", "r") as fichier:
contenu = fichier.read()
print(contenu)On peut aussi lire le fichier ligne par ligne :
with open("logs.txt", "r") as fichier:
for ligne in fichier:
print(ligne)Plus tard, on peut utiliser cette méthode pour chercher certaines informations dans des fichiers logs.
8. Utiliser les modules Python
Python possède beaucoup de modules qui permettent d’ajouter des fonctionnalités.
Par exemple :
import osLe module os permet de travailler avec le système d’exploitation.
Il existe aussi :
import socket
import requests
import re
import jsonCes modules peuvent devenir très utiles en cybersécurité.
Par exemple, socket permet de travailler avec les connexions réseau.
9. Commencer avec le réseau
Quand les bases de Python sont comprises, je pense qu’il est intéressant de commencer à apprendre le module socket.
Par exemple :
import socket
hostname = "example.com"
ip = socket.gethostbyname(hostname)
print(ip)Ce script permet de récupérer l’adresse IP associée à un nom de domaine.
C’est un exemple simple, mais il permet déjà de relier Python aux connaissances en réseaux.
10. Créer de petits projets
Pour progresser en Python, je pense qu’il ne faut pas seulement regarder des vidéos ou lire des cours.
Il faut créer de petits projets.
Par exemple :
Projet 1 : générateur de mots de passe
Créer un programme qui génère un mot de passe aléatoire.
Cela permet d’utiliser :
- les variables ;
- les boucles ;
- les chaînes de caractères ;
- le module
random.
Projet 2 : analyseur d’adresses IP
Créer un programme qui demande une adresse IP et affiche certaines informations.
Projet 3 : scanner de ports simple
Après avoir appris le module socket, on peut essayer de créer un petit scanner de ports dans son propre laboratoire ou sur une machine pour laquelle on a l’autorisation.
Cela permet de comprendre comment les connexions TCP fonctionnent.
Projet 4 : analyse de logs
Créer un fichier contenant plusieurs lignes de logs et utiliser Python pour chercher certaines informations.
Par exemple :
Failed login
Successful login
Failed loginPython peut compter le nombre de connexions échouées.
11. Ce qu’il faut apprendre ensuite
Après les bases, je pense qu’un bon ordre pour progresser serait :
Bases de Python
↓
Fichiers
↓
Fonctions
↓
Modules
↓
Gestion des erreurs
↓
Programmation orientée objet
↓
Requests et API
↓
Socket
↓
Regex
↓
Automatisation
↓
Scripts de cybersécuritéIl n’est pas nécessaire de tout apprendre en même temps.
Le plus important est de comprendre chaque notion et de pratiquer.
12. Python avec Linux
Pour moi, apprendre Python et Linux ensemble est une très bonne idée.
Beaucoup de professionnels de la cybersécurité utilisent Linux.
On peut par exemple lancer un script Python depuis le terminal :
python3 script.pyOn peut aussi créer des scripts qui travaillent avec des fichiers Linux ou certaines commandes système.
Cela permet de progresser dans les deux domaines en même temps.
13. Python ne remplace pas les bases de la cybersécurité
Il faut aussi comprendre que connaître Python ne veut pas dire connaître la cybersécurité.
Il faut continuer à apprendre :
- les réseaux ;
- TCP/IP ;
- Linux ;
- DNS ;
- HTTP et HTTPS ;
- les systèmes d’exploitation ;
- les permissions ;
- les services réseau ;
- les bases de la sécurité.
Python est surtout un outil qui permet d’automatiser et de mieux comprendre certaines tâches.
Conclusion
Python est un très bon langage pour commencer la programmation, surtout pour quelqu’un qui souhaite avancer en cybersécurité.
Au début, il faut surtout apprendre les variables, les conditions, les boucles, les listes, les fonctions et les fichiers.
Ensuite, on peut progressivement apprendre les modules comme socket, requests, os ou re et commencer à créer de petits projets.
Pour moi, la meilleure méthode reste de pratiquer régulièrement. Même un petit programme de 20 ou 30 lignes peut apprendre beaucoup de choses.
Mon objectif n’est pas seulement de connaître les commandes Python, mais de comprendre comment utiliser Python avec les réseaux, Linux et la cybersécurité pour créer mes propres projets et améliorer mes compétences.

0 Commentaires