De nombreux outils permettent la manipulation du réseau en userland. Le plus connu est Scapy qui permet de coder, décoder,recevoir et envoyer des trames sur le réseau en fournissant une interface aux RAW sockets. Cet article montre les possibilités offertes en combinant une pile TCP/IP « stateful » basique avec Scapy pour la manipulation et la création de trafic réseau.
1. Introduction
1.1 Objectif
Cet article montre à travers l'implémentation d'une pile TCP/IP « stateful » basique au-dessus de Scapy comment il devient possible de manipuler le trafic d'une machine en profondeur. L'utilisation d'un outil appelé Pystack développé dans ce but permet ainsi en userland de créer et manipuler des connexions réseau tout en s'affranchissant de la dépendance au noyau. En effet, sauf à utiliser certaines options configurables avec setsockopt lors de la création d'une socket classique, on ne possède aucun contrôle sur les actions effectuées sous la couche applicative. L'utilisation d'une pile TCP/IP personnalisée permet de modifier à souhait le comportement des différentes couches réseau (Ethernet, IP, TCP/UDP, etc.). L'utilisation d'une pile « stateful » est particulièrement significative pour les protocoles à états comme TCP, car Scapy ne gère pas le comportement d'un protocole bien qu'il en assure le codage, le décodage,...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première