PCAPNG et protocoles

a marqué ce sujet comme résolu.

Hello à tous,

J’ai un micro-contrôleur qui communique avec divers équipements via soit ethernet (udp), soit serial (RS422 si je ne me trompe pas). Dans les deux cas, les paquets échangés sont clairement défini.

Je souhaite développer un logiciel pour tester tout ça en mode boîte noire. On enregistre les communications entre les équipement et le uC et on regarde que tout se passe bien. Il me faut donc un format de fichier qui me permette de mettre tout mes paquets au même endroit. J’ai regardé un peu, le PCAPNG semble être le plus adapté, mais très orienté sur les réseaux ethernet.

Cependant j’ai vu la possibilité de faire des custom block. Est-ce que ça conviendrait pour mettre mes paquets serial? Ou alors je peux utiliser les EPB (Enhanced Packet Block) directement avec une deuxième interface pour les serials ? Le block interface semble très orienté ethernet (IP, MAC…) mais j’ai pas l’impression qu’on soit obligé de remplir tout ça.

Je suis peut être complètement à côté de la plaque avec le PCAPNG, n’hésitez pas à me prévenir.

En vous remerciant, Bonne journée !

+0 -0

Salut,

Je n’ai pas bien saisi ce que tu cherches à faire, est-ce que ça ressemble à ça ?

Je ne crois pas que ce soit à côté de la plaque, il me semble que Wireshark est capable d’y enregistrer des communications séries. Par contre c’est peut-être pas fait pour que t’y mette plusieurs types de communication dans le même fichier.
Sinon tu peux aussi regarder dans les formats sérialisés d’export, notamment le JSON et le XML.

+0 -0

La première question est celle de la capture.

Pour les interfaces ethernet, les données sont structurées dans des trames. Ce n’est pas nécessairement le cas pour les interfaces RS232, qui sont prévus pour échanger des octets et non pas des trames.
Les octets servent souvent à porter des messages délimités par des signaux électriques, des caractères spéciaux ou des critères temporels. Ces messages sont traités comme des trames.
Pour les trames, on souhaite documenter l’interface de capture et faire un horodatage.
Il faut aussi savoir que faire des trames anormales.
Il faut donc prévoir un système d’horodatage.
Une fois qu’on sait faire une capture, on peut se poser la question du stockage des captures.
La bande passante nécessaire peut poser problème : on est limité par la vitesse d’écriture du support de stickage. Comme les supports de stockage sont en général plus lents que les medias de transmission, il faut prévoir un système de mémoire tampon destiné à alimenter le système de gestion du support de stockage.
De fait, on est limité par la puissance de calcul du micro contrôleur et la capacité mémoire disponible pour le système ce mémoire tampon.

Pour terminer, si on stocke les captures, c’est qu’on voudra les traiter. Par exemple, il faut analyser le contenu des trames, ou encore faire un compte rendu des trames anormales.

+0 -0

Salut,

Je n’ai pas bien saisi ce que tu cherches à faire, est-ce que ça ressemble à ça ?

romantik

C’est ça oui.

Je ne crois pas que ce soit à côté de la plaque, il me semble que Wireshark est capable d’y enregistrer des communications séries. Par contre c’est peut-être pas fait pour que t’y mette plusieurs types de communication dans le même fichier.

romantik

L’écriture et la lecture des PCAPNG est réalisée par une bibliothèque faite par mes soins (car j’utilise Ada et que je n’ai pas trouvé de bibliothèques PCAPNG en Ada). J’arrive a écrire et lire des fichiers PCAPNG sans problème, vérifié avec Wireshark.

Donc en soit je peux ajouter un custom bloc sans trop de difficulté avec mes données dedans. Mais j’imagine que Wireshark va juste les ignorer et que je ne les verrais pas. Ce n’est pas très grave, le but est de faire de l’analyse en Ada.

Pour les interfaces ethernet, les données sont structurées dans des trames. Ce n’est pas nécessairement le cas pour les interfaces RS232, qui sont prévus pour échanger des octets et non pas des trames.

etherpin

Oui c’est exact, c’est pour ça que j’ai précisé que les messages sont définis, je connais donc en avance tous les messages possibles, leur taille et leur format. Au niveau de mon logiciel, les messages venant de l’éthernet ou du serial arrivent au final au même endroit (une queue), j’ai "juste" à les récupérer et les écrire dans le PCAPNG.


Au vu de vos réponses, j’imagine que le EPPB n’est pas adapté au serial et qu’il faut que je passe par un bloc custom, c’est bien ça ? J’imagine qu’il est possible de faire un plugin wireshark pour lire ces blocs customs afin de les visualiser..

+0 -0

Au vu de vos réponses, j’imagine que le EPPB n’est pas adapté au serial et qu’il faut que je passe par un bloc custom, c’est bien ça ? J’imagine qu’il est possible de faire un plugin wireshark pour lire ces blocs customs afin de les visualiser..

Wizix

Après avoir jeté un oeil rapidement à cette doc, je ne vois pas de contre indication, non. Les interfaces sont toutes typées individuellement donc je retire ce que j’ai dit, tu dois pouvoir décrire plusieurs types de communication dans le même fichier. Je suis plutôt d’avis qu’EPB pourrait répondre à ton besoin.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte