feat: Semaine 9

This commit is contained in:
gauvainboiche
2026-05-15 16:24:56 +02:00
parent 3315cb2336
commit ce1f0e513a
108 changed files with 3150 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
from scapy.all import TCP
class Extracteur:
def __init__(self, fichier_pcap):
pcap = rdpcap(fichier_pcap)
self.sessions = pcap.sessions()
self.responses = []
def trouver_reponses(self):
for session in self.sessions:
payload = b""
for paquet in self.sessions[session]:
try:
if paquet[TCP].dport == 80 or paquet[TCP].sport == 80:
payload += bytes(paquet[TCP].payload)
except IndexError:
pass
if payload:
header = extract_header(payload)
if header is None:
continue
self.responses.append(Response(header=header, payload=payload))
def ecrire_images(self):
os.makedirs(DOSSIER_SORTIE, exist_ok=True)
compteur = 0
for response in self.responses:
contenu, content_type = extract_content(response)
if contenu and content_type:
nom = os.path.join(DOSSIER_SORTIE, f"image_{compteur}.{content_type}")
with open(nom, "wb") as f:
f.write(contenu)
print(f" {nom}")
compteur += 1
print(f"\n{compteur} images extraites")