Création de la page et du plan + Présentation scapy

This commit is contained in:
amokadem 2024-02-28 14:23:13 +01:00
parent 9e78b8022d
commit 0681f6ad43

104
HowtoScapy.md Normal file
View file

@ -0,0 +1,104 @@
---
categories: network
title: Howto Scapy
---
**Cette Page est en cours d'écriture, les information présentées ici sont potentiellement incomplètes et la structure de la page peut être amenée à changer.**
* Documentation : <https://scapy.readthedocs.io/en/latest/>
[Scapy](https://github.com/secdev/scapy) est un programme et une librairie de manipulation de paquets réseau visant à donner un contrôle total sur le matériel réseau d'une machine à son utilisateur. Scapy permet de forger, décoder des paquets reçus, émettre des paquets et capturer un segment de communication (format [PCAP](https://www.endace.com/learn/what-is-a-pcap-file)) ainsi que des procédures de prototypage de paquets simplifiées et naturelles grâce à l'autocomplétion intelligente mise à disposition.
De fait les taches telles que le scanning, l'écoute ou l'enregistrement de segments de communication proposées par plusieurs outils différents tels que *Nmap* pour le scanning ou *tcpdump* ou *Wireshark* pour l'écoute passive, sont rassemblées au sein d'un seul outil qui bénéficie également d'une capacité de programmabilité très élevée de pars sa nature.
En effet Scapy est avant tout une librairie Python offrant aux utilisateur une interface accessible directement via linterpréteur, dès lors, nous comprenons que les capacités des outils précédemment cités peuvent être conjuguées afin de satisfaire bien plus finement aux besoin d'un utilisateur.
**Principe :** Forger, manipuler, écouter les flux de communication réseau.
## Principe de fonctionnement et Concepts
Scapy est un programme permettant daccéder au plein potentiel de votre carte réseau, pour se faire, l'outil se sert du mode **promiscuous** des interfaces et réintroduit intégralement une stack TCP/IP sur laquelle le programme possède les pleins pouvoirs, cela simplifie notamment la traversée du niveau 2 (Modèle OSI) dans la stack TCP/IP noyau. L'interface étant configurée en **promiscuous** le kernel est alors supplanté par Scapy et la carte réseau est entièrement utilisable.
Pour exemple, nous pouvons grâce à cela librement modifier ladresse MAC source de nos paquets et les envoyer directement sur le réseau sans avoir à spécifier au kernel de ne pas réécrire le champs.
D'autre part cette structure nous permets également de définir entièrement un environnement réseau spécifique; en effet, Scapy nous offre la possibilité de créer/renommer/ajouter des interfaces réseau, créer une table routage dédiée idépendante de celle du système "hôte", la gestion de certificats d'encryption et bien d'autres à travers l'objet ```conf```.
Par ailleurs Scapy utilise les nivaux du modèle OSI afin de structurer les couches composant les objets descripteurs de paquets. Ainsi un objet de type PKT dans Scapy se compose généralement de plusieurs couches en fonction des choix de l'utilisateur et peut être vu comme un dictionnaire bidimensionnel : ```PKT['IP']['TCP']...```.
### Structures et Modèle OSI
#### Couches
#### Protocoles
#### Encapsulation
### Integration Python
## Installation
## Utilisation
### Création de paquets
#### Génération de collections de paquets
#### Modification de paquets
##### Spoofing à la volée
### Ecoute du réseau
#### Sauvegarde de communication écoutées
##### Manipulation dans des listes
##### Enregistrement dans des fichiers PCAP
##### Lecture de fichier PCAP
##### Annalyse de contenu
### Emissions sur les réseau
#### A partir de fichiers PCAP
#### A partir de collections générées
#### Emission et reception de réponses
## Exemples d'utilisation basique
### Sniffer
#### Filtres
### ARPing
### Nmap
## TLDR
### Création de paquets/collections
### Emission de paquets/collections
### Emission et écoute de réponse
### Ecoute sur le réseau
#### Filtres d'ecoute
#### Filtre par IP
#### Filtre par MAC
#### Filtre par protocole
### Ecriture PCAP
### Lecture PCAP
### Modification de champs