2

I'm wondering if anyone knows whether YouTube uses different protocols and/or port numbers in streaming video to different clients. For example, is it possible that they use HTTP, Port 80 for Mozilla Firefox (or any other web browser) and something like say RTSP, port 53, to stream to the Android platform? I know that Android VideoView/MediaPlayer libraries supports HTTP streaming, but the answers at this SO thread suggest that RTSP is possible.

And more generally, are there any nice ways of determining what streaming protocols and ports video servers/providers like YouTube, Netflix, ESPN use? I've tried using Wireshark but I realize how cumbersome it is to associate specific IP addresses to host/domain names. In addition, Wireshark doesn't seem to differentiate between transport and application layer protocols (that is, for some 2 random packets with the same source IP address, for the first packet it lists that the protocol in use is TCP, for the second packet it says it's protocol is HTTP).

Community
  • 1
  • 1
kip2
  • 6,473
  • 4
  • 55
  • 72

1 Answers1

2

I think Wireshark is your best bet here. Based on captures I have around, I can say that Netflix and the Youtube app on Android 2.2, Android 4.0, iOS 4.3.3 and iOS 5.x communicate only using HTTP and HTTPS (ports 80 and 443). Not sure what versions of the respective apps this represents but all were captured in 2011 and 2012.

To determine whether your captures have any packets that are not DNS, HTTP port 80 or HTTPS port 443 try using a filter like the one below. Replace 1.2.3.4 with the ip address of the device you are using to test.

ip.src==1.2.3.4 && not dns && tcp.dstport != 80  && tcp.dstport!=443

See this SO question for suggestions on getting started with wireshark.

Community
  • 1
  • 1
narced133
  • 712
  • 4
  • 7