IOS网络抓包工具之Paros

导语

做IOS应用的时候可能会需要一些第三方的资源,如果第三方正好提供了API接口,那么恭喜你,可以省很大力气,但如果第三方没有提供接口,那么就需要我们取抓包获取了,虽然这样不怎么道德,但也仁者见仁了,下面我就使用Paros工具取抓取IOS里的应用接口数据。
Paros下载:http://pan.baidu.com/s/1BuUrz

使用

下载下来安装就好了,如果机器上没有jdk的话,系统会提示是否安装,对于做开发的同学,趁着没人的时候,偷偷点击安装即可,否则丢不起人呀,最后启动程序,然后我们开始相关配置:
1、 首先确认电脑与手机都在同一网段,可以查看一下电脑的IP地址:



2、然后进入手机的网络设置里面,把HTTP代理填写一下,服务器就是电脑的IP地址,端口为默认的 8080(这里以Iphone手机为例,其他手机设置代理方式请自行查询。)



3、设置Paros的代理,打开 Tools —— options —— local proxy,ip地址填写电脑的IP地址,端口号默认即可



4、这里演示一下优酷的接口,我们启动手机里的优酷App客户端,选择搞笑栏目,然后我们就可以看到在paros里面抓到了app请求的资源,我们简单的排除一下找到了最像列表页面的链接:



5、然后我们放到VisualJSON工具里面进行模拟get请求,返回来的数据是json格式,当然上面的paros也可以看到请求的数据,这里我们使用VisualJSON工具是为了可以更直观一些。



6、抓取视频播放地址也是同理,我们在app里面随便点击一个视频进行播放,然后观察paros里面获取的资源,因为优酷会把视频切割成N段的mp4视频,这个我们拿过来不好处理,所以我们就要找有m3u8字样的链接,取得视频的播放地址,这个不同的应用有不同的规则,可以自己慢慢摸索



7、 验证视频是否可以正常播放,这里我们使用VLC进行测试,选择网络资源——然后把我们拿到的播放地址输入进去点击播放:



如下图所以我们抓到的视频地址可以正常播放,说明接口抓取成功。



总结

其实使用paros只能抓取HTTP协议的接口,不过这对于我们来说已经足够了,下面我们来总结分析一下刚刚抓到的接口。

搞笑视频列表接口地址:

1
$album_url = "http://api.3g.youku.com/layout/iphone/channel/subpage?brand=apple&btype=iPhone5%2C2&cid=94&deviceid=0f607264fc6318a92b9e13c65db7cd3c&guid=7066707c5bdc38af1621eaf94a6fe779&idfa=&image_hd=2&network=WiFi&operator=%E4%B8%AD%E5%9B%BD%E8%81%94%E9%80%9A_46001&os=ios&os_ver=7.0.4&ouid=095f39107f92b6a4b4270b21ab900ac5b7de7daf&pageNo=1&pid=69b81504767483cf&sub_channel_id=319&sub_channel_type=1&vdid=E9F84B97-3256-4C44-87E8-B0FE22E90653&ver=3.2.2";

搞笑视频播放接口地址:

1
http://pl.youku.com/playlist/m3u8?ts=1388347838&keyframe=1&vid=SFJ28JFALKJF2KJA&type=flv

上面的ts是时间戳,这个我们每次请求的时候自动生成即可,后面的vid就是列表页面返回的视频的vid,最后的type就是视频文件的类型。