1、普及代理工具知识点
Fiddler这个代理工具是基于.Net,用c#语言编写,入门简单,功能强大,但是目前只适用于win;
burpsuite是java写的,burpsuite是从底层包中解析http流量,而且具有跨平台的优势;
Wireshark各个平台都有相应版本,不过门槛相对较高。
Fiddler和burpsuite在抓包上偏向请求和响应的数据,但是wireshark偏向于数据帧。
2、小程序或者手机抓包遇到的问题
问题一:
我在日常的工作中,直接使用burpsuite对app(小程序)测试的话发现响应速度特别慢,效率很低,而且经常抓不到包,况且有的app(小程序)的某些功能点是对响应时间有要求的,如果使用burp响应过慢,app那边已经显示超时了。
问题二:
我直接使用fiddler抓包是很流畅的,但是说实话,fiddler很多功能并没有burpsuite好用,况且插件也少,一般测试人员都是使用burpsuite进行抓包测试的
原理说明:
Fiddler+burpsuite串联为何会快,因为当fiddler的流量走burpsuite的时候,没有流量解析的过程,只是单纯的转发,少了最耗时的步骤,总体而言还是比单纯使用bursuite快很多。
想法:
结合以上两个问题,我产生了一种想法,能否将两个工具结合起来使用,用fiddler抓到报文之后做一层转发到burpsuite上,然后不就可以了嘛。
3、解决问题
初步的想法是利用fiddler做一层流量转发到burpsuite上,然后仍然使用burpsuite测试,下面我们就来看看具体操作。
1>fiddle抓包并设置转发
0x01:打开fiddler工具,点击file->Capture Traffic 就可以直接抓包了(这里fiddler默认代理端口是8888)
点击Tools->Options->Connections可以查看其默认代理端口(当然你可以修改)
0x02:抓取https流量
配置如下:
点击Tools->Options->HTTPS
然后对应的测试手机或者模拟器记得安装https证书,安装证书流程直接看这个博客吧,https://blog.csdn.net/laofashi2015/article/details/78476499。
注意:
苹果手机安装完证书需要在两个地方进行认证:
1>通用,关于本机,证书信任设置,设置完毕
2>通过,描述文件,设置完毕
0x03:做端口转发,将流量转发到burpsuite
点击Tools->Options->Connections->Gateway,然后在Manual Proxy Configuration当中输入以下内容:
http://127.0.0.1:8080;https://127.0.0.1:8080(8080是burpsuite的代理端口,可以自己设置其他端口,这里出于习惯设置的8080)
点击ok即可。
4、Burpsuite设置代理
这个的话很简单,相信大家都会设置。 点击proxy->options->add->输入代理ip地址和端口即可
5、测试效果
1、这里的话使用微信开发者工具测试微信小程序
3、burp做代理测试,很流畅,这样测试就很舒服了
6、流量走向
手机流量->fiddle(8888端口)->burpsuite(8080端口)
7、注意事项以及问题
1、测试的时候先开启burpsuite,然后开启fiddle
2、手机需要与电脑属于同一个wifi,并且保证能够抓到包(受公司网络限制有的情况即使属于同一网络也可能抓不到包,需要向it部门进行申请)
3、抓不到https的包一般是安装证书有问题,需要重新安装,并且手机侧需要将其证书添加信任。