安装WireShark:可以直接从官网下载dmg安装,或者用brew instgall wireshark --with-qt
运行图形界面之前,需要先执行命令:sudo chmod 777 /dev/bpf*
现在考虑如何用它来探测视频直播类应用的Url:
思路很简单,在一台带无线网卡的Mac笔记本上启用WiFi热点(?),然后让移动设备通过此热点访问网络;笔记本上启动wireshark,应该能看到这个WiFi热点对应的主机interface设备。
在上面启动包捕获。
首先获取手机移动设备在WiFi热点上分配到的ip地址,根据源ip地址过滤所有的数据包(TCP和UDP);
然后,手机上打开视频直播类应用,点开视频之前,清除wireshark已捕获的数据包(不清除的话数据量太多),然后重新启动
因为视频直播通常数据量比较大,所以应该可以看到一个特征数据包序列,其TCP window不停追加。右键,显示其解码后的数据流,可以看到原始的HTTP请求响应头部,从中可以得到视频流的http url地址。
我原本以为视频有可能走HTTPS或者是UDP什么的,但其实只是普通的HTTP HLS。