From ae9706e9d0ff59dd0f04fbcee36fdecdbdc1832b Mon Sep 17 00:00:00 2001 From: David Date: Sat, 16 Sep 2023 15:12:16 +0200 Subject: [PATCH] first notes(test) --- Osi.mdx | 46 +++++++++++++++++++++++++++++ Socat.mdx | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 Osi.mdx create mode 100644 Socat.mdx diff --git a/Osi.mdx b/Osi.mdx new file mode 100644 index 0000000..5801a5d --- /dev/null +++ b/Osi.mdx @@ -0,0 +1,46 @@ +--- +Nom de l'utilisateur : Alice +Date de la note : 2021-10-20 +Sujet : Révision des couches réseau du modèle OSI +Résumé : Cette note de révision vise à aider à mieux comprendre les différentes couches du modèle OSI, un cadre conceptuel crucial pour la compréhension des réseaux informatiques. Les sept couches du modèle OSI fournissent une structure organisée pour comprendre le fonctionnement des réseaux informatiques, de la transmission des données au traitement des informations. +Tags : Réseaux, Modèle OSI, Couches réseau +--- + +# Couches du modèle OSI : + +## 1. Couche physique (Physical Layer) + +- **Description :** La couche physique gère la transmission brute des données sous forme de signaux physiques, tels que les signaux électriques ou lumineux, sur les médias de transmission. +- **Exemple :** Câbles Ethernet, fibres optiques, signaux électriques sur une ligne téléphonique. + +## 2. Couche liaison de données (Data Link Layer) + +- **Description :** Cette couche garantit une transmission fiable des données entre deux nœuds voisins, en gérant la détection et la correction des erreurs. +- **Exemple :** Ethernet, Wi-Fi. + +## 3. Couche réseau (Network Layer) + +- **Description :** La couche réseau s'occupe du routage des données à travers un réseau, en déterminant le chemin optimal pour les paquets de données. +- **Exemple :** IP (Internet Protocol). + +## 4. Couche transport (Transport Layer) + +- **Description :** Cette couche assure la livraison fiable des données, en divisant les messages en segments, les numérotant, et en gérant la reconstitution des données côté récepteur. +- **Exemple :** TCP (Transmission Control Protocol), UDP (User Datagram Protocol). + +## 5. Couche session (Session Layer) + +- **Description :** La couche session établit, gère et termine les sessions de communication entre les applications. +- **Exemple :** NetBIOS. + +## 6. Couche présentation (Presentation Layer) + +- **Description :** Cette couche traite la conversion des données entre les formats utilisés par l'application et ceux nécessaires à la transmission sur le réseau. +- **Exemple :** Encodage/décodage de données, compression. + +## 7. Couche application (Application Layer) + +- **Description :** La couche application fournit des interfaces aux applications utilisateur et prend en charge les services de réseau tels que le courrier électronique, le transfert de fichiers, etc. +- **Exemple :** HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol). + +**Remarque :** Il est essentiel de comprendre que le modèle OSI est une abstraction conceptuelle qui aide à comprendre les différentes fonctions des réseaux informatiques. Il ne correspond pas exactement à la façon dont les réseaux sont implémentés dans la pratique, mais il reste un outil précieux pour la compréhension des réseaux et de leurs protocoles. diff --git a/Socat.mdx b/Socat.mdx new file mode 100644 index 0000000..37126a1 --- /dev/null +++ b/Socat.mdx @@ -0,0 +1,86 @@ +--- +Nom de l'utilisateur : Antoine +Date de la note : 2021-10-13 +Sujet : Introduction aux Sockets avec socat (Bash) +Résumer : Cette note explique comment utiliser la commande socat pour créer et gérer des sockets en Bash. +Tags : Réseaux, Bash, Sockets, socat +--- + +# Note : Introduction aux Sockets avec socat (Bash) + +Les sockets sont des mécanismes de communication interprocessus qui permettent à des processus sur un réseau de s'échanger des données. `socat` est une commande très puissante en Bash qui peut être utilisée pour créer des sockets et effectuer diverses opérations sur les données échangées. Voici un aperçu des sockets avec `socat` : + +## Créer un socket TCP + +Pour créer un socket TCP à l'aide de `socat`, utilisez la syntaxe suivante : + +```bash +socat TCP-LISTEN:port,fork EXEC:"commande" +``` + +- `port` : Le port sur lequel le socket écoutera les connexions entrantes. +- `commande` : La commande à exécuter pour gérer la communication avec le socket. + +Exemple : + +```bash +socat TCP-LISTEN:8080,fork EXEC:"cat fichier.txt" +``` + +## Créer un socket UDP + +Pour créer un socket UDP avec `socat`, utilisez la syntaxe suivante : + +```bash +socat UDP-LISTEN:port,fork EXEC:"commande" +``` + +- `port` : Le port sur lequel le socket écoutera les datagrammes entrants. +- `commande` : La commande à exécuter pour gérer la communication avec le socket. + +Exemple : + +```bash +socat UDP-LISTEN:12345,fork EXEC:"echo 'Message reçu : ' && cat -" +``` + +## Se connecter à un socket TCP + +Pour vous connecter à un socket TCP à l'aide de `socat`, utilisez la syntaxe suivante : + +```bash +socat TCP:host:port +``` + +- `host` : L'adresse IP ou le nom d'hôte du serveur. +- `port` : Le port sur lequel le serveur écoute. + +Exemple : + +```bash +socat TCP:localhost:8080 +``` + +## Envoyer des données via un socket + +Pour envoyer des données via un socket avec `socat`, utilisez la syntaxe suivante : + +```bash +echo "Données à envoyer" | socat - TCP:host:port +``` + +- `host` : L'adresse IP ou le nom d'hôte du destinataire. +- `port` : Le port sur lequel le destinataire attend les données. + +Exemple : + +```bash +echo "Hello, World!" | socat - TCP:localhost:8080 +``` + +## Conclusion + +Les sockets sont un concept fondamental en programmation réseau, et `socat` est un outil précieux pour les manipuler en Bash. Vous pouvez créer des sockets TCP et UDP, vous connecter à des sockets existants et échanger des données de manière flexible à l'aide de cette puissante commande. + +N'hésitez pas à explorer davantage `socat` et ses options pour répondre à vos besoins spécifiques en matière de communication réseau dans un environnement Bash. +