Analyse d'un flux MPEG-TS avec Wireshark

Wireshark est un analyseur réseau logiciel généraliste, qui sait décoder de nombreux formats de trames IP, dont les payloads MPEG-TS diffusés en multicast. Voici un exemple d'extraction d'infos.

Installer et exécuter wireshark en root:

1apt install wireshark

Ceci rend disponible la commande tshark qui est la version cli de wireshark.

Analyser le trafic réseau

1tshark -i eno2 -f 'udp port 1234' -Y "mpeg-pes" -V -T fields -e frame.number -e mp2t.pid -e mp2t.cc
  • eno2 est la carte réseau recevant le trafic multicast
  • 1234 est le port sur lequel écouter
  • -V affiche le détail des paquets
  • -T spécifie l'affichage fields, on précise les champs à extraire avec -e :
    • numéro de frame (frame.number)
    • pid du paquet MPEG-TS (mp2t.pid)
    • compteur de continuité du paquet MPEG-TS (mp2t.cc)

Résultat

1(...)
216904	0x00000078,0x00000078,0x00000078,0x00000078,0x00000078,0x00000084,0x00000078	3,4,5,6,7,9,8
316927	0x00000078,0x00000078,0x00000078,0x00000078,0x00000078,0x00000084,0x00000078	0,1,2,3,4,11,5
416929	0x00000083,0x00000078,0x00000078,0x00000078,0x00000078,0x00000078,0x00000078	11,13,14,15,0,1,2
516930	0x00000078,0x00000082,0x00000078,0x00000078,0x00000078,0x00000078,0x00000078	3,11,4,5,6,7,8
616952	0x00000082,0x0000008c,0x00000078,0x00000078,0x00000078,0x00000078,0x00000078	13,3,10,11,12,13,14
716959	0x00000078,0x00000078,0x00000078,0x00000078,0x00000078,0x00001fff,0x00001fff	6,7,8,9,10,0,0
817007	0x00000078,0x00000078,0x00000078,0x00000078,0x00000078,0x00000083,0x00000078	11,12,13,14,15,2,0
9(...)

Analyse des résultats

  • Chaque paquet UDP transporte 7 paquets TS , 188*7 = 1316 octets
  • Le pid 0x78 est le plus fréquent, sans-doute la piste vidéo
  • Le compteur de continuité (nombre entre 0 et 15) n'est pas global mais propre à chaque pid
  • Le pid 0x1fff représente le null packet (pour avoir un CBR, débit constant), son compteur de continuité reste à 0

Ressources

comments powered by Disqus