IOS抓包工具Stream——让移动端的抓包变得轻而易举
有一天下晚班回家,在地铁上的时候,开发发来信息说,能不能把之前创建的bug再抓包看下数据。顿时心里就想,在地铁上,我上哪抓包去。之后百度了下,发现ios有一款非常实用的抓包工具,大家可以上App Store上下载,轻量级的抓包工具。今天就来分享下工具的基本使用,万一出现紧急情况,需要临时抓包,也可以来一场“紧急支援”。
话不多说,进入主题,我们先来看下Stream首页界面,是不是很简洁,使用起来也很简单。
从界面上可以看出来,功能还是齐全的,可以构建请求,设置抓包模式,还有嵌入的小工具。
构建请求
我们先从构建请求说起,构建请求,包含了接口的八种方式,在这里,再温习一下,这八种请求方式的用途。
1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体);
2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改;
3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容);
4、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头);
5、Delete 请求服务器删除request-URL所标示的资源(请求服务器删除页面);
6、Trace 回显服务器收到的请求,用于测试和诊断;
7、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能);
8、Connect HTTP/1.1协议中能够将连接改为管道方式的代理服务器。
构建GET请求
我们了解了八种请求方式的用途,今天主要分享get和post请求方式。
Stream内的请求方式如下,可以自由选择。
选择get请求,模拟请求:访问博客园,配置请求的链接:https://account.cnblogs.com/user/userinfo
链接配置好后,点击启动按钮
请求响应成功,我们来查看响应体中的内容,如下:
由于没有传递token,所以显示的是未登录的状态。
通过postman验证,请求结果是否一致,如下:
构建POST请求
我们先切换请求方法,选择为post,选择post后,就会自动显示请求体内容,如下:
body参数,可以按字段单个添加,也可按原始数据添加,粘贴数据后,自动生成字段列表
配置好请求数据后,点击请求按钮,请求响应成功,如下:
我们来查看响应体数据,如下:
正常获取到了token
选择post请求方法,body可切换不同类型,根据自己的接口传参类型来选择,可选项为:普通表单,JSON,文件表单,通用文本类型。如下所示:
抓包实践
安装证书
点击设置下的HTTPS抓包,进入如下界面,文案提示的很明确,抓包需要安装CA证书,如同fiddler一样。
如下界面是已经安装好了证书并信任,ios如何信任证书,可参考我之前的博文:Fiddler使用过程中容易忽略的小技巧,里面有详细的介绍。
安装好了证书,接下来,就可以抓包了。
抓取请求
在app页面,点击开始抓包,会自动启用VPN服务,访问对应数据,就可以正常抓包了,是不是很简单。如下所示:
查看结果
我们来查看下抓到的请求,如下:
历史记录
抓包结束后,还可以查看抓包历史,抓取的接口,可以反复查看数据,如下:
收藏请求
在抓包过程中,想单独关注某一个接口请求响应值,可以将该接口收藏,标记起来,如下:
设置抓包模式
设置黑名单
点击界面中的设置抓包模式,则进入到设置界面,如下:
我们可以从上图得知黑白名单的用途,当设置为黑名单,则抓取所有的请求;若设置了具体的黑名单,抓取的请求则是除了具体黑名单外的接口数据。
我们具体来看操作,先配置黑名单,黑白名单不能同时开启。
将博客园的host配置进黑名单,支持通配符*,博客园不同页面的网址不同,但后缀都是一样,所以配置成*.cnblogs.com即可,如下所示:
从百度页面,访问博客园,我们来看抓取到的数据,如下:
完美的避开了所有关于博客园的访问请求记录,这就是黑名单的作用。
设置白名单
我们了解了黑名单的作用后,再来看白名单的作用,在之前也讲到了白名单的作用,就是值抓取具体白名单内的host请求,我们具体来看。
将博客园的host配置进白名单中,如下所示:
我们再来访问博客园内容,抓取的内容如下:
从上图我们可以看出,抓取到的接口,都是关于博客园的请求接口,这就是白名单的作用。为了不混淆或者过多的请求接口,来扰乱自己,则可以配置白名单。
抓包日志
在抓包过程中,还可以实时查看抓包的日志,可以来分析对应问题。
常用工具
在常用工具界面内,里面有经常用到的小工具,URL编码解码,Base64加密解密,MD5,时间戳转化,RSA加密解密。
工具具体的应用,可以尝试一番。
后记
Stream,个人认为在移动端是一款很实用的工具,万一遇到紧急情况,需要分析排错的时候,就可以方便的使用起来,不用再去紧急的找电脑。