Comment puis-je renifler des paquets communiqués via un port série sur Linux?
Il y a quelques options:
SERSNIFF est un programme simple à tunnel/sniff entre 2 ports série.
Serial to Network Proxy (Ser2Net) Fournit un moyen pour un utilisateur de se connecter d'une connexion réseau à un port série.
SerialSpy agit comme un périphérique de passage série. Il écoute les données entrantes sur deux ports série et les transmet les appareils ainsi que les appareils agissent comme si elles sont directement connectées. Il enregistre également les données car elle déplace les ports.
SERCD est un redirecteur de ports série conformé à la RFC 2217. Il vous permet de partager un port série via un réseau. Il est basé sur Srevesdird. Le protocole RFC2217 est une extension de Telnet et permet de changer de paramètres de port de communication.
Serlook est une application KDE pour inspecter des données en cours de série. Il peut fonctionner comme terminal binaire qui envoie et reçoit des données via un port défini (point en mode point) et les affiche sur des vues séparées. Chaque vue peut être configurée pour afficher les données de Hexadecimal, décimale, octale, binaire et RAW ASCII. Il est également possible d'effectuer des E/S via des vues d'émulation de terminaux et de définir un port secondaire et de surveiller le trafic entre deux hôtes externes à l'aide d'un câble "Y" (Mode Snooper).
NullModem crée un réseau virtuel de pseudo-terminaux. Il peut être utilisé comme adaptateur pour connecter deux programmes nécessitant normalement des cartes d'interface série.
TtyWatch Moniteurs, journaux et multiplexes Terminal E/S. Il dispose d'une rotation complète du journal intégré et peut utiliser TELnet ainsi que des ports ATS locaux.
Serial Line Sniffer (SLSNIF) est un utilitaire de journalisation du port série. Il écoute le port série spécifié et enregistre toutes les données suivant ce port dans les deux directions.
J'ai essayé Intercepté ( copier sur github ) et réussi à l'utiliser. D'abord, je l'ai couru sur le port d'intérêt:
interceptty /dev/ttyACM0
Ensuite, j'ai connecté le programme-sous-test au pseudo-terminal /dev/pts/5
cette interception créée.
J'ai essayé d'utiliser SLSNIF , mais j'ai trouvé que j'ai eu une erreur:
Failed to open a pty: No such file or directory
Cet élément de la liste de diffusion indique que SLSNIF ne prend en charge que les pseudo-terminaux "Legacy" (/dev/ttyp0
etc) qui ne sont probablement pas utilisés sur les noyaux de Linux actuels.
Essayez d'utiliser JPNEvulator (Debian Equiked) ou SLSNIFF . Notez que SLSniff utilise un modèle d'émulation de terminal obsolète.