2

我想知道是否有人知道 YouTube 在将视频流式传输到不同客户端时是否使用不同的协议和/或端口号。例如,他们是否有可能使用 HTTP、Mozilla Firefox(或任何其他网络浏览器)的端口 80 以及类似RTSP的端口 53 来流式传输到 Android 平台?我知道 Android VideoView/MediaPlayer 库支持 HTTP 流,但这个 SO 线程的答案表明 RTSP 是可能的。

更一般地说,有没有什么好的方法来确定 YouTube、Netflix、ESPN 等视频服务器/提供商使用哪些流协议和端口?我尝试过使用 Wireshark,但我意识到将特定 IP 地址与主机/域名相关联是多么麻烦。此外,Wireshark 似乎没有区分传输层协议和应用层协议(也就是说,对于一些 2 个具有相同源 IP 地址的随机数据包,对于第一个数据包它列出正在使用的协议是 TCP,对于第二个数据包它说它的协议是HTTP)。

4

1 回答 1

2

我认为 Wireshark 是你最好的选择。根据我掌握的捕获情况,我可以说 Netflix 和 Android 2.2、Android 4.0、iOS 4.3.3 和 iOS 5.x 上的 Youtube 应用程序仅使用 HTTP 和 HTTPS(端口 80 和 443)进行通信。不确定这代表了各个应用程序的哪些版本,但所有这些都是在 2011 年和 2012 年捕获的。

要确定您的捕获是否有任何不是 DNS、HTTP 端口 80 或 HTTPS 端口 443 的数据包,请尝试使用如下过滤器。替换1.2.3.4为您用于测试的设备的 IP 地址。

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

有关开始使用 wireshark 的建议,请参阅此SO 问题

于 2012-07-17T05:45:04.507 回答