IMA4 2021/2022 EC6 : Différence entre versions
(→Travail réalisé) |
(→Travail réalisé) |
||
Ligne 13 : | Ligne 13 : | ||
de mettre à jour votre Wiki au moins deux fois par semaine. | de mettre à jour votre Wiki au moins deux fois par semaine. | ||
− | + | ||
Pour réaliser ce projet j'ai commencé par récupérer différents paquets ethernet "type" qui me permettront de développer mon programme . Pour cela j'utilise l'utilitaire wireshark | Pour réaliser ce projet j'ai commencé par récupérer différents paquets ethernet "type" qui me permettront de développer mon programme . Pour cela j'utilise l'utilitaire wireshark | ||
Cela me permet de récupérer un exemple de trame ipv4 : | Cela me permet de récupérer un exemple de trame ipv4 : | ||
Ligne 31 : | Ligne 31 : | ||
J'ai réalisé le même processus pour une trame UDP. Pour le moment c'est trames sont stockées dans un fichier texte mais l'idéal est d'utiliser directement l'utilitaire ether pour récupérer un paquet | J'ai réalisé le même processus pour une trame UDP. Pour le moment c'est trames sont stockées dans un fichier texte mais l'idéal est d'utiliser directement l'utilitaire ether pour récupérer un paquet | ||
+ | J'ai décomposé mon programme en plusieurs routine. | ||
+ | Récupération de la trame-> Récupération des en-têtes ethernet -> Sélection du type de protocole -> si c'est un IPV4 affichage de ses en-têtes et vérification de la checksum | ||
+ | |||
+ | Récupération de la trame: | ||
+ | Ma première routine me permet de récupérer un paquet complet sous la forme d'un char | ||
+ | Exemple | ||
+ | 48 f1 7f d0 32 20 78 81 02 31 36 76 86 dd 60 00 00 00 00 21 11 3b 2a 00 14 50 40 07 08 0f 00 00 00 00 00 00 20 02 2a 01 cb 00 0a a2 68 00 7d 7c c5 0a 46 7f fe f6 01 bb d8 4c 00 21 0d c0 40 2e 40 71 fe 71 19 9e 41 f3 a7 a0 1c 35 5a 25 73 8b cf 41 11 bb 80 b3 b4 | ||
= Documents Rendus = | = Documents Rendus = |
Version du 29 août 2022 à 23:14
Objectif
Développer un micro utilitaire de type tcpdump
pour analyser les paquets TCP/IP.
En vous basant sur les sources du logiciel d'interception des paquets réseau des travaux dirigés du semestre 7, réalisez un analyseur de paquets TCP/IP avec les caractéristiques suivantes :
- les paquets sont toujours affichés sous leur forme numérique ;
- les entêtes Ethernet sont affichées en clair (les trois champs que vous connaissez bien) ;
- si le paquet Ethernet contient un paquet IPv4, les entêtes IPv4 sont affichées en clair et la somme de contrôle est vérifiée ;
- si le paquet IPv4 contient un paquet UDP, les entêtes UDP sont affichées en clair et l'éventuelle somme de contrôle est vérifiée.
Vous devez documenter vos avancées sur cette page Wiki. Au vu du retard que vous avez pris dans l'épreuve, merci de mettre à jour votre Wiki au moins deux fois par semaine.
Pour réaliser ce projet j'ai commencé par récupérer différents paquets ethernet "type" qui me permettront de développer mon programme . Pour cela j'utilise l'utilitaire wireshark
Cela me permet de récupérer un exemple de trame ipv4 :
0000 48 f1 7f d0 32 20 78 81 02 31 36 76 86 dd 60 00 H...2 x..16v..`.
0010 00 00 00 21 11 3b 2a 00 14 50 40 07 08 0f 00 00 ...!.;*..P@.....
0020 00 00 00 00 20 02 2a 01 cb 00 0a a2 68 00 7d 7c .... .*.....h.}|
0030 c5 0a 46 7f fe f6 01 bb d8 4c 00 21 0d c0 40 2e ..F......L.!..@.
0040 40 71 fe 71 19 9e 41 f3 a7 a0 1c 35 5a 25 73 8b @q.q..A....5Z%s.
0050 cf 41 11 bb 80 b3 b4 .A.....
Ainsi que les informations associées: Frame 680: 87 bytes on wire (696 bits), 87 bytes captured (696 bits) on interface \Device\NPF_{4DB062CB-0742-4EDE-86A1-1CFB3480F3BE}, id 0 Ethernet II, Src: Sercomm_31:36:76 (78:81:02:31:36:76), Dst: IntelCor_d0:32:20 (48:f1:7f:d0:32:20) Internet Protocol Version 6, Src: 2a00:1450:4007:80f::2002, Dst: 2a01:cb00:aa2:6800:7d7c:c50a:467f:fef6 User Datagram Protocol, Src Port: 443, Dst Port: 55372 Data (25 bytes)
J'ai réalisé le même processus pour une trame UDP. Pour le moment c'est trames sont stockées dans un fichier texte mais l'idéal est d'utiliser directement l'utilitaire ether pour récupérer un paquet J'ai décomposé mon programme en plusieurs routine. Récupération de la trame-> Récupération des en-têtes ethernet -> Sélection du type de protocole -> si c'est un IPV4 affichage de ses en-têtes et vérification de la checksum
Récupération de la trame: Ma première routine me permet de récupérer un paquet complet sous la forme d'un char Exemple 48 f1 7f d0 32 20 78 81 02 31 36 76 86 dd 60 00 00 00 00 21 11 3b 2a 00 14 50 40 07 08 0f 00 00 00 00 00 00 20 02 2a 01 cb 00 0a a2 68 00 7d 7c c5 0a 46 7f fe f6 01 bb d8 4c 00 21 0d c0 40 2e 40 71 fe 71 19 9e 41 f3 a7 a0 1c 35 5a 25 73 8b cf 41 11 bb 80 b3 b4