Journal Sniffer un port serie

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
avr.
2004
Hier sur irc on m a propose d utiliser ttysnoop, mais je comprends pas comment s en servire sur un port serie. ttysnoop inclus un concepte de client/server , alors que l apli qui doit ouvrire le port serie est une usine a gaz ( un soft dans vmware ) , et il m est impossible d emuler le peripherique, puisque c est une carte de dev en cours de dev ...

Mon but: etudier le protocole entre la carte de dev, et le logiciel sous windows.

Pour ca je pensais qu il serait possible de dire a vmware d utiliser un device speciale != ttyS0, et d utiliser un logiciel etre ce device et ttyS0, mais je capte rien a ttyS0.

Que faire ?
  • # Re: Sniffer un port serie

    Posté par  . Évalué à 3.

    Brutal attack :
    Allez faire un tour dans le driver serial de ton kernel, intercepter par des printk (par exemple) les transfert recu/emis
    une tite recompil du kernel
    et hop, le tour est joué
    c'est pour ca que l'acces au source de l'os est si jouissif !
  • # Re: Sniffer un port serie

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    pour avoir fait la même chose et après avoir tenté plein de trucs avec wmware, bochs et wine , ça na marchait tjs pas. j'ai même essayé de faire tourner une machine sous Win la brancher en null-modem sur ma box et rediriger en full duplex mes 2 ports série et tous ça vers le périphérique mais tjs rien.... alors je me suis décidé à passer sous windows et utiliser un sniffer pour étudier le fonctionnement du soft ....

    voir 1 de mes journaux ici : http://linuxfr.org/~kolter/4233.html(...)

    on m'avait conseiller d'utiliser portmon qui est un freeware et qui s'est avéré exactement ce dont j'avais besoin pour recupérer les infos genre configuration du port série (vitesse, parité, etc), et sutout les données envoyées et reçues ....

    finalement après quelques lecture importantes comme :

    - http://www.tldp.org/HOWTO/Serial-Programming-HOWTO/(...)
    - http://www.easysw.com/~mike/serial/(...) (surtout celui là...)
    - http://www.uwsg.indiana.edu/linux/mdw/HOWTO/IO-Port-Programming.htm(...)
    - http://pficheux.free.fr/articles/lmf/serial/(...) (extrait d'un LMF)

    avec plein d'infos sur la prog des ports série...

    on arrive à s'en sortir et le bonheur c'est quand ça commence à marchotter, il reste plus qu'affiner ......

    autrement y'a scope : un analyseur de ligne serie, il doit être ici: http://www.ibiblio.org/pub/Linux/apps/circuits/(...)

    y'a une autre soft, mais j'arrive pas à mettre la main dessus, me souvient plus de son nom, j'avais mi du temps à le trouver mais je me souviens qu'il été pas mal.... mais il doit être chez moi, s'il t'intéresse, je te redonne le nom/url....


    M.
    • [^] # Re: Sniffer un port serie

      Posté par  (site web personnel) . Évalué à 3.

      pas besoin d aller si loin: serial_sniffer-0.7.1.tgz marche nikel
      une pure merveille de technologies. Bon il lui manquait quelques features, dont j ai ecris a l auteur, mais ca marche bien.
      j ai teste avec des aplis serie et ca fait ce que je veux:

      slsnif -l /tmp/log.txt /dev/ttyS0

      dans un term

      apli -d /dev/ttyp0

      dans un autre et roulez , donc il va suffire de dire a vmware d utiliser ttyp0 au lieu de ttyS0 et roulez ( pas le temps de le faire ce matin.)

      pour la page de mike, je l ai lu 10 fois.

      Sinon l alternative si t a un second pc, c est de cabler le TX de l un vers le RX de l autre ( mes pc n ont qu un serial chacun ) ( chez moi ca suffit parceque seul le traffic sortant m interesse - sinon il tu redirige le RX vers le RX d un 3e port serie ... )

      A+
  • # Re: Sniffer un port serie

    Posté par  . Évalué à 1.

    Citons aussi les utilitaires de chez http://www.sysinternals.com/(...)
    A savoir les très célèbres portmon, filemon, etc.

    Ca fonctionne sous Windows pour la plupart, mais c'est un freeware, et en plus la majorité des sources sont disponibles. Il existe même quelques versions Linux ...

    Seul problème, le sniffer de port plante mon W98 (qui ne doit plus être très stable de toute façon).
  • # Re: Sniffer un port serie

    Posté par  (site web personnel) . Évalué à 2.

    Bon , finalement j ai installe slsnif-0.4.2.tar.gz sur mon linux ( rien capte a ttysnoop), mais vmware refusait d ouvrire ttyp0 ( le port de sortie de slsnif ). donc ca c est fini en reboot du host sous Win, et sniffage avec un second PC. Mais la j ai eu une derniere surprise: j ai cable les pins Tx et GND de mon host vers les Rx et GND du 2e PC, mais le sniffer ne recevait pas tous les octets: il recevait bien des trames completes de donnees, mais il ne recevait pas toutes les trames. Apres milles essai, j ai phone un pote qui m a suggere de cabler aussi le Rx du host au Tx du sniffer , bref de cabler les 3 pins ( 2, 3 et 5 ), et la magie, le sniffer recevait tout ce qu il fallait.

    Je savais que le sniffer ne recevait pas tout, parceque je savais que l apli sur mon port serie ( un microcontroleur ) ne pouvait fonctionner qu apres envoi d une sequence que je connaissais a l avence, et que je ne retrouvais pas cette sequence dans les logs du sniffer, donc qu il y avait un pb. Apres cablage des 3 pins, je recevais bien la dite sequence.

    Pour plus d infos sur le hard en generale, je vous suggere de visiter http://www.technick.net/(...) . Y a pas TOUT sur TOUT, mais y a beaucoup sur les besoins les plus courants ( cables croises ethernet et serie, pinouts de la prise ATX pour ceux qui veulent cabler le fil vert sur le +5 permanent pour etre sure que leur server est TOUJOURS allume ....)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.