Friday, November 14, 2014

Multicast RTP Stream Analysis, Using Wireshark or Tshark

Wireshark is one of the best tools that networkers use to analyze captured packets/streams. Using wireshark it is possible to analyse a IP multicast RTP stream. I did use this technique to analyse if there were any problem in network layer that affect IPTV experience. 
  

WIRESHARK MANUAL

  • Wireshark and a video player that is capable of receiving multicast should be installed on your PC. I prefer VLC player for such purposes
http://www.wireshark.org/download.html 
http://www.videolan.org/vlc/ 
  • If more than one network adapter is installed on your PC, disable  all of them expect the one you need to reach the network. Otherwise there is a chance that your igmp request may not be sent to the right interface 

  • Join a multicast channel:

  • If  vlc and adapter configurations are right, then video stream should display in vlc like below: 

  • Keep vlc open and start wireshark. In wireshark select the right network adapter and then start capturing the files coming to that network adapter.

  • You should see so many UDP packet during the capture process. Stop capturing whenever you think is enough to analyze.


  •  Filter the UDP packets.


  • For RTP analysis, right-click on a UDP packet and select “Decode as”. 


  • Then select RTP


  • If the multicast stream is encapsulated as RTP, you should see details of packets (like mpeg ts, timestamps etc.). Just click on a packet, from Telephony menu, select Stream analysis inside RTP tab. 

  • Finally, if everything is right, you shall see a detailed analysis of the RTP stream which includes jitter, delay, sequence errors, duration and else. 


TSHARK

It is also possible to use tshark in Linux environments for the same purpose, and you may use scripts to extract that data and store it in a database. You may build your own multicast network analyzer.  Here is the tshark code: 

“tshark -i eth1 -a duration:600 -q -p -o rtp.heuristic_rtp:TRUE -z rtp,streams -f udp  > /root/output$(date +%Y%m%d_%H%M%S)” 

0 comments:

Post a Comment

 

Internetworking Hints Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger