wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Examen Final en Python

Total questions: 62

Worksheet time: 11mins

Name
Class
Date
1.

Quel module Python est le plus adapté pour lire des fichiers CSV volumineux ?

a)

os

b)

pandas

c)

sys

d)

requests

2.

Pour lire un fichier binaire en Python, il faut ouvrir le fichier avec le mode :

a)

"r"

b)

"rb"

c)

"w"

d)

"rt"

3.

Quelle bibliothèque permet de lire et d’analyser des fichiers PCAP en Python ?

a)

socket

b)

pyshark

c)

pandas

d)

hashlib

4.

Pour parser un fichier JSON complexe, quel module Python standard est utilisé ?

a)

pickle

b)

json

c)

xml

d)

csv

5.

Quel est le principal avantage de pandas pour l’analyse de logs ?

a)

Manipulation efficace de gros volumes de données

b)

Création d’interfaces graphiques

c)

Envoi d’e-mails

d)

Génération de clés cryptographiques

6.

Quelle méthode pandas permet d’agréger les données par une colonne spécifique ?

a)

groupby()

b)

aggregate()

c)

filter()

d)

join()

7.

Pour détecter une anomalie dans une série temporelle, on peut utiliser :

a)

La moyenne et l’écart-type

b)

Le tri alphabétique

c)

La concaténation de chaînes

d)

La permutation de listes

8.

Quel algorithme scikit-learn est adapté à la détection d’anomalies ?

a)

IsolationForest

b)

LinearRegression

c)

KMeans

d)

DecisionTreeClassifier

9.

En Python, pour lire chaque ligne d’un fichier texte, on utilise :

a)

for line in file

b)

while file.read()

c)

file.write()

d)

file.append()

10.

Pour extraire des motifs dans des logs, on utilise généralement :

a)

Les expressions régulières (re)

b)

La bibliothèque math

c)

La bibliothèque turtle

d)

La bibliothèque time

11.

Quel module permet de créer des sockets TCP en Python ?

a)

socket

b)

requests

c)

urllib

d)

hashlib

12.

Pour envoyer un paquet personnalisé sur le réseau, on utilise :

a)

scapy

b)

pandas

c)

numpy

d)

os

13.

Quel est le rôle d’un scanner de ports ?

a)

Identifier les ports ouverts sur une machine cible

b)

Chiffrer les communications

c)

Générer des clés RSA

d)

Lire des fichiers JSON

14.

Quelle commande permet de lancer un scan SYN avec scapy ?

a)

sr1(IP()/TCP(flags="S"))

b)

send(IP()/UDP())

c)

sniff()

d)

sendp()

15.

Quel type de socket est utilisé pour UDP ?

a)

SOCK_DGRAM

b)

SOCK_STREAM

c)

SOCK_RAW

d)

SOCK_PACKET

16.

Pour capturer les paquets réseau sur une interface, on utilise avec scapy :

a)

sniff()

b)

listen()

c)

capture()

d)

get()

17.

L’attaque par injection SQL consiste à :

a)

Insérer des commandes dans une requête SQL pour manipuler la base de données

b)

Envoyer des paquets ICMP

c)

Chiffrer un message

d)

Scanner des ports

18.

Quelle API permet d’obtenir des informations sur les vulnérabilités exposées d’une IP ?

a)

Shodan

b)

pandas

c)

hashlib

d)

pycrypto

19.

Pour automatiser un test de vulnérabilité avec Python, il est préférable d’utiliser :

a)

Une API ou un module spécialisé

b)

La bibliothèque turtle

c)

Un fichier .exe

d)

Un script bash uniquement

20.

Le "bannière grabbing" consiste à :

a)

Lire la bannière d’un service réseau pour identifier sa version

b)

Chiffrer les communications

c)

Générer une clé publique

d)

Lister les fichiers d’un dossier

21.

Quel module Python permet de manipuler facilement RSA et AES ?

a)

pycryptodome

b)

pandas

c)

scapy

d)

requests

22.

La cryptographie asymétrique implique :

a)

Une clé publique et une clé privée

b)

Une seule clé partagée

c)

Deux clés identiques

d)

Un mot de passe simple

23.

Pour générer une paire de clés RSA avec pycryptodome :

a)

RSA.generate()

b)

AES.new()

c)

hashlib.sha256()

d)

socket.socket()

24.

Le chiffrement symétrique utilise :

a)

Une seule clé pour chiffrer et déchiffrer

b)

Deux clés différentes

c)

Un certificat SSL

d)

Une API REST

25.

Quel type de clé utilise le chiffrement symétrique ?

a)

Une seule clé pour chiffrer et déchiffrer

b)

Deux clés différentes

c)

Un certificat SSL

d)

Une API REST

26.

Quel mode d’AES garantit l’authenticité et la confidentialité ?

a)

EAX ou GCM

b)

ECB

c)

CBC sans padding

d)

OFB

27.

Pour stocker un mot de passe de façon sécurisée, il faut :

a)

Le hasher avec bcrypt ou argon2

b)

Le stocker en clair dans un fichier texte

c)

L’envoyer par email

d)

L’enregistrer dans un cookie non sécurisé

28.

La signature numérique permet de :

a)

Vérifier l’intégrité et l’authenticité d’un message

b)

Chiffrer un message

c)

Scanner des ports

d)

Générer un rapport HTML

29.

Pour générer un hash SHA256 en Python :

a)

hashlib.sha256()

b)

pandas.hash()

c)

scapy.hash()

d)

os.hash()

30.

Un HSM (Hardware Security Module) sert à :

a)

Stocker et gérer des clés cryptographiques de façon sécurisée

b)

Scanner des ports

c)

Lire des fichiers CSV

d)

Générer des rapports PDF

31.

Pour échanger une clé AES de façon sécurisée, on peut :

a)

La chiffrer avec la clé publique RSA du destinataire

b)

L’envoyer en clair par email

c)

L’écrire dans un fichier non protégé

d)

L’annoncer à voix haute

32.

Quel module Python permet de piloter nmap ?

a)

python-nmap

b)

pandas

c)

pycrypto

d)

scapy

33.

Le fuzzing consiste à :

a)

Envoyer des entrées aléatoires ou malformées à un programme pour détecter des bugs

b)

Scanner des ports

c)

Générer des clés RSA

d)

Lire des fichiers JSON

34.

Pour automatiser l’exploitation d’une faille, il faut :

a)

Écrire un script qui reproduit l’attaque de façon contrôlée

b)

Utiliser uniquement la ligne de commande

c)

Chiffrer le trafic réseau

d)

Utiliser un éditeur de texte

35.

Quelle est la première étape d’un test de pénétration automatisé ?

a)

La reconnaissance (scan de ports/services)

b)

Le chiffrement des communications

c)

La génération de clés

d)

L’envoi d’emails

36.

Pour automatiser la génération d’un rapport, on peut utiliser :

a)

La bibliothèque fpdf ou reportlab

b)

La bibliothèque turtle

c)

La bibliothèque time

d)

La bibliothèque math

37.

Une vulnérabilité "buffer overflow" consiste à :

a)

Écrire au-delà de la mémoire allouée à un programme

b)

Scanner tous les ports d’une machine

c)

Chiffrer un message

d)

Lire un fichier CSV

38.

Pour intégrer un outil externe en Python (ex : sqlmap), on utilise :

a)

subprocess

b)

pandas

c)

hashlib

d)

socket

39.

Pour automatiser la collecte d’informations sur un site web, on utilise :

a)

requests + BeautifulSoup

b)

pandas

c)

scapy

d)

hashlib

40.

Pour analyser les résultats d’un scan nmap en Python, il est recommandé de :

a)

Utiliser python-nmap pour parser les résultats

b)

Lire le fichier XML avec turtle

c)

Utiliser uniquement la ligne de commande

d)

Scanner les ports avec hashlib

41.

Pour détecter si un service est vulnérable, on peut :

a)

Comparer sa version à une base de données de vulnérabilités (CVE)

b)

Chiffrer le trafic réseau

c)

Lire un fichier JSON

d)

Générer une clé RSA

42.

Pour éviter l’exécution de code arbitraire lors du chargement d’un fichier, il faut éviter :

a)

pickle.load() sur des fichiers non fiables

b)

json.load()

c)

open()

d)

print()

43.

Pour gérer les erreurs réseau en Python, il est conseillé d’utiliser :

a)

Un bloc try/except

b)

Un bloc if/else

c)

Un bloc while/for

d)

Un bloc with/as

44.

Pour sécuriser un script Python contre les injections de commandes, il faut :

a)

Valider et échapper les entrées utilisateur

b)

Utiliser des mots de passe simples

c)

Stocker les clés en clair

d)

Désactiver le pare-feu

45.

Pour limiter les attaques par brute force, il est recommandé de :

a)

Mettre en place un système de verrouillage après plusieurs échecs

b)

Utiliser des ports non standards

c)

Chiffrer les logs

d)

U

46.

Limiter les attaques par brute force, il est recommandé de :

a)

Mettre en place un système de verrouillage après plusieurs échecs

b)

Utiliser des ports non standards

c)

Chiffrer les logs

d)

Utiliser des sockets UDP

47.

L’utilisation de virtualenv en Python permet de :

a)

Isoler les dépendances d’un projet

b)

Générer des clés RSA

c)

Scanner des ports

d)

Lire des fichiers PCAP

48.

Pour éviter les fuites d’information dans les logs, il faut :

a)

Masquer ou anonymiser les données sensibles

b)

Écrire tous les logs en clair

c)

Partager les logs publiquement

d)

Utiliser des ports non standards

49.

Pour protéger un mot de passe dans un script Python, il est préférable de :

a)

Le stocker dans une variable d’environnement

b)

L’écrire en dur dans le code

c)

L’envoyer par email

d)

L’imprimer à l’écran

50.

Pour éviter les attaques de type "race condition" lors de la manipulation de fichiers :

a)

Utiliser des verrous (locking)

b)

Utiliser des sockets UDP

c)

Chiffrer les fichiers

d)

Scanner les ports

51.

Pour s’assurer qu’un script Python est maintenable et sécurisé, il faut :

a)

Documenter le code et utiliser des tests automatisés

b)

Écrire tout dans une seule fonction

c)

Utiliser uniquement des variables globales

d)

Éviter les commentaires

52.

Pour limiter l’impact d’une faille, il est important de :

a)

Appliquer le principe du moindre privilège

b)

Donner tous les droits à tous les utilisateurs

c)

Désactiver les logs

d)

Utiliser un seul mot de passe pour tout

53.

Quelle est la première étape pour analyser un fichier de logs inconnu ?

a)

Comprendre sa structure et son format

b)

L’effacer

c)

Le chiffrer

d)

L’envoyer par email

54.

Pour détecter une attaque de brute force dans des logs, il faut :

a)

Rechercher de nombreuses tentatives de connexion échouées par la même IP

b)

Scanner les ports

c)

Générer une clé RSA

d)

Chiffrer les logs

55.

Lors d’un scan de ports, si le port 22 est ouvert, cela signifie :

a)

Le service SSH est probablement accessible

b)

Le serveur est vulnérable

c)

La machine est éteinte

d)

Le port est réservé au HTTP

56.

En cryptographie, pourquoi utiliser une clé de session AES même si on utilise RSA ?

a)

Pour la rapidité du chiffrement symétrique

b)

Pour la compatibilité avec les navigateurs

c)

Pour générer des logs

d)

Pour scanner des ports

57.

Lors d’un test de pénétration automatisé, il est important de :

a)

Documenter chaque étape et résultat

b)

Utiliser des mots de passe faibles

c)

Scanner uniquement les ports 80 et 443

d)

Désactiver le pare-feu

58.

Pour sécuriser la transmission d’une clé AES, il faut :

a)

La chiffrer avec la clé publique du destinataire

b)

L’envoyer en clair

c)

L’écrire dans un fichier texte

d)

L’imprimer à l’écran

59.

Un script Python qui automatise la collecte de vulnérabilités doit :

a)

Interroger des bases de données ou API de vulnérabilités

b)

Scanner les ports uniquement

c)

Chiffrer les logs

d)

Générer une clé RSA

60.

Pour valider la signature d’un message, il faut :

a)

La clé publique du signataire

b)

La clé privée du destinataire

c)

Le mot de passe de l’utilisateur

d)

Le port ouvert

61.

Pour détecter une anomalie dans un flux réseau, on peut :

a)

Surveiller les pics de trafic ou les paquets inhabituels

b)

Chiffrer tous les paquets

c)

Générer une clé RSA

d)

Lire un fichier CSV

62.

Lors de la conception d’un outil de cybersécurité en Python, il est essentiel de :

a)

Comprendre les concepts sous-jacents avant d’automatiser

b)

Copier-coller du code sans comprendre

c)

Utiliser uniquement des bibliothèques propriétaires

d)

Écrire tout en une seule ligne