From e46bda215bd94b687bced56a2fcc3afd5e625c41 Mon Sep 17 00:00:00 2001 From: Chak <444chak@gmail.com> Date: Fri, 20 Dec 2024 15:21:56 +0100 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9E=20fix:=20Mise=20=C3=A0=20jour?= =?UTF-8?q?=20de=20la=20documentation=20API=20pour=20inclure=20le=20param?= =?UTF-8?q?=C3=A8tre=20de=20masque=20dans=20l'URL=20de=20la=20m=C3=A9thode?= =?UTF-8?q?=20GET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/README.md b/api/README.md index d27ab2f..a058c1e 100644 --- a/api/README.md +++ b/api/README.md @@ -291,7 +291,7 @@ L'applications dépend de la base de données pour fonctionner. Il faut donc lan | Method | URL | Description | Need token | Roles | | ------ | --------------- | ----------- | ---------- | ----- | -| GET | /ipv4/mask/{ip} | Get mask | True | User | +| GET | /ipv4/mask/{ip}/{mask} | Get mask | True | User | #### Get VLSM From 1ba12f9587c1f2c61b91c9ef5aa17afe1bcf3104 Mon Sep 17 00:00:00 2001 From: Chak <444chak@gmail.com> Date: Fri, 20 Dec 2024 15:22:07 +0100 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9E=20fix:=20Ajout=20d'un=20indica?= =?UTF-8?q?teur=20de=20chargement=20lors=20de=20l'ex=C3=A9cution=20du=20pi?= =?UTF-8?q?ng=20et=20am=C3=A9lioration=20de=20la=20documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front-js/src/app/modules/ping/cours.tsx | 127 ++++++++++++------------ 1 file changed, 65 insertions(+), 62 deletions(-) diff --git a/front-js/src/app/modules/ping/cours.tsx b/front-js/src/app/modules/ping/cours.tsx index 71fb9e2..0b914cb 100644 --- a/front-js/src/app/modules/ping/cours.tsx +++ b/front-js/src/app/modules/ping/cours.tsx @@ -12,26 +12,25 @@ import axios from "@/axiosConfig"; import Cookies from "js-cookie"; import { AxiosError } from "axios"; import Button from "@/components/Button"; -import { Alert } from "@mui/material"; +import { Alert, CircularProgress } from "@mui/material"; import Box from "@/components/Box"; const Cours: React.FC = () => { const [pingTest, setPing] = useState(""); const [res, setRes] = useState(""); const [valid, setValid] = useState(false); + const [isLoading, setIsLoading] = useState(false); const handlePing = async (e: { preventDefault: () => void }) => { + setIsLoading(true); e.preventDefault(); try { - const ipAddress = pingTest.replace('ping ', ''); - const response = await axios.get( - "/scapy/ping/" + ipAddress, - { - headers: { - Authorization: `Bearer ${Cookies.get("access_token")}`, - }, - } - ); + const ipAddress = pingTest.replace("ping ", ""); + const response = await axios.get("/scapy/ping/" + ipAddress, { + headers: { + Authorization: `Bearer ${Cookies.get("access_token")}`, + }, + }); const data = response.data; if (response.status === 200) { setRes(data.destination); @@ -52,6 +51,7 @@ const Cours: React.FC = () => { setRes("false"); } } + setIsLoading(false); }; return ( @@ -60,92 +60,92 @@ const Cours: React.FC = () => { Introduction - Le ping est un outil de diagnostic réseau utilisé pour tester la connectivité entre deux hôtes - sur un réseau IP. Il fonctionne en envoyant des paquets ICMP (Internet Control Message Protocol) - de type à un hôte cible et en attendant des réponses. - Le ping est couramment utilisé pour vérifier si un hôte est accessible, mesurer le temps de - latence entre deux hôtes, et diagnostiquer les problèmes de réseau. + Le ping est un outil de diagnostic réseau utilisé pour tester la + connectivité entre deux hôtes sur un réseau IP. Il fonctionne en + envoyant des paquets ICMP (Internet Control Message Protocol) de + type à un hôte cible et en attendant des réponses. Le ping est + couramment utilisé pour vérifier si un hôte est accessible, mesurer + le temps de latence entre deux hôtes, et diagnostiquer les problèmes + de réseau. Structure paquet ICMP - Un paquet ICMP est encapsulé dans un paquet IP et contient plusieurs champs spécifiques. - La structure d'un paquet ICMP Requête/Réponse est la suivante : + Un paquet ICMP est encapsulé dans un paquet IP et contient plusieurs + champs spécifiques. La structure d’un paquet ICMP + Requête/Réponse est la suivante : + L’entête est composée de : - L'entête est composée de : + 1. Type (1 octet) : Ce champ indique le type de message ICMP. - 1. Type (1 octet) : Ce champ indique le type de message ICMP. + 2. Code (1 octet) : Fournit des informations supplémentaires sur le + type. - 2. Code (1 octet) : Fournit des informations supplémentaires sur le type. - - - 3. Checksum (2 octets) : Ce champ contient une somme de contrôle utilisée pour vérifier l'intégrité du paquet ICMP. + 3. Checksum (2 octets) : Ce champ contient une somme de contrôle + utilisée pour vérifier l’intégrité du paquet ICMP. - 4. Identifiant (2 octets) : Identifie de manière unique une requête/réponse. + 4. Identifiant (2 octets) : Identifie de manière unique une + requête/réponse. - 5. Numéro de séquence (2 octets) : Ce champ est utilisé pour numéroter les paquets dans une session de ping, - permettant de détecter les pertes de paquets. + 5. Numéro de séquence (2 octets) : Ce champ est utilisé pour + numéroter les paquets dans une session de ping, permettant de + détecter les pertes de paquets. - Après l'entête, nous retrouvons toutes les données qui sont envoyés dans le paquet ICMP. + Après l’entête, nous retrouvons toutes les données qui sont + envoyés dans le paquet ICMP. - - Voici un exemple de commande que vous pourriez utiliser afin de réaliser un ping : + + Voici un exemple de commande que vous pourriez utiliser afin de + réaliser un ping : - + - Réponse d'une requête ping + Réponse d’une requête ping + Envoi de l’Echo Request : - Envoi de l'Echo Request : - - - Lorsque vous envoyez un ping à un autre appareil, votre ordinateur crée un petit message appelé "Echo Request". - Ce message est envoyé à l'adresse IP de l'appareil cible. - - - Réception de l'Echo Request : - - - L'appareil cible reçoit le message "Echo Request". - Il vérifie que le message n'est pas corrompu en utilisant une somme de contrôle (checksum). - - - Création de l'Echo Reply : - - - Si le message est correct, l'appareil cible crée un nouveau message appelé "Echo Reply". - Ce message contient les mêmes informations que l'Echo Request, mais avec un type différent pour indiquer qu'il s'agit d'une réponse. + Lorsque vous envoyez un ping à un autre appareil, votre ordinateur + crée un petit message appelé "Echo Request". Ce message + est envoyé à l’adresse IP de l’appareil cible. + Réception de l’Echo Request : - Envoi de l'Echo Reply : + L’appareil cible reçoit le message "Echo Request". + Il vérifie que le message n’est pas corrompu en utilisant une + somme de contrôle (checksum). + Création de l’Echo Reply : - L'appareil cible envoie le message "Echo Reply" à votre ordinateur. - Votre ordinateur reçoit ce message et peut ainsi confirmer que l'appareil cible est accessible. + Si le message est correct, l’appareil cible crée un nouveau + message appelé "Echo Reply". Ce message contient les mêmes + informations que l’Echo Request, mais avec un type différent + pour indiquer qu’il s’agit d’une réponse. + Envoi de l’Echo Reply : - Mesure du Temps de Réponse : + L’appareil cible envoie le message "Echo Reply" à + votre ordinateur. Votre ordinateur reçoit ce message et peut ainsi + confirmer que l’appareil cible est accessible. + Mesure du Temps de Réponse : - Votre ordinateur mesure le temps écoulé entre l'envoi de l'Echo Request et la réception de l'Echo Reply. - Ce temps est appelé "latence" et vous donne une idée de la rapidité de la connexion réseau. + Votre ordinateur mesure le temps écoulé entre l’envoi de + l’Echo Request et la réception de l’Echo Reply. Ce temps + est appelé "latence" et vous donne une idée de la rapidité + de la connexion réseau. Essayez ! <Emoji name="test-tube" width={32} /> - Tentez de ping le site de l'iut de Vélizy. + Tentez de ping le site de l’iut de Vélizy. {