0x00 常用抓包工具
常用的抓包工具有fiddler、wireshark、httpwatch、 firebug、F12/等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以查看接口的参数和响应值。
- iddler最适合,在APP测试的时候抓包;
- wireshare适合对整个流量进行抓取;
- burpsuite最大的特点是抓包改包
0x01 Fiddler原理
Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
0X02 安装应用
1.下载最新版Fiddler,强烈建议在官网下载:https://www.telerik.com/download/fiddler
2. 正常傻瓜式安装,
下一步,下一步,安装完毕后,先不用急于打开软件。
3.下载并安装Fiddler证书生成器:
http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
4.打开Fiddler进行设置
点击工具栏中的Tools—>Options
5、点击HTTPS,勾选Decrypt HTTPS traffic和Ignore server certificate(unsafe)
6、点击Actions,点击Export Root Certificate to Desktop
【注】此时电脑上会生成 一个证书(.cer)
7、https设置及connections设置,勾选选择项
8、安装雷电模拟器 https://www.ldmnq.com/
9、安装好后,桌面双击打开雷电模拟器,点击设置
10、选择网络设置,勾选桥接模式,点击安装驱动,点击确定,点击保存设置
11、打开模拟器,设置代理。找到系统应用,点击设置,点击无线网络WLAN—>左键常按点击已连接网络—>修改网络
点击完成导入
14、在模拟器中打开系统应用—>设置—>安全—>从SD卡安装。找到FiddlerRoot.cer文件,按提示导入即可,注意在此过程需要名称和解锁图案等,自行即可
设置-安全-为证书命名
15、手机端(客户端)设置
保证Fiddler和手机在同一局域网下,设置手机代理服务器地址为Fiddler服务器地址即可。
15、打开fiddler,重启模拟器,输入设置的密码,按回车键,打开需要抓包的APP,就可以在电脑上进行APP抓包了
16、联动burp(手机流量-->fiddler-->burp )
用“模拟器”+“burp”抓取流量虽然好用,但有些限制
1、如果APP做了“虚拟环境检查”,打开APP就直接闪退。
2、如果APP与微信或QQ软件关联的话,“模拟器”不好操作。
3、如果APP获取定位等信息,“模拟器”无法实现。 直接手机+burp的方式我试过。很久才能拦截到数据,很影响测试心情。这个问题不知道是证书问题还是什么,有大佬可以说下吗?
具体步骤:
1.fiddler:在首页面依次点击“Tools”-->“Options”后有几个选择卡的设置
点“HTTPS”,然后勾选“Ignore server certificat error”,大概意思就忽视服务证书问题。
点“Connections”,在“Fiddler listen onport”处写入端口,我用的是19999,监听远程的流量。再勾选“Allow remote computers connects”,大概意思就是允许设备撒的连接。
点“Gatewey”,勾选“mannual proxy configrution”,填入127.0.0.1:8080,将fiddler监听的流量转发给8080端口,也就是我们burp监听的端口。
2.手机:在wifi上长按,然后点击“修改网络”,高级选项中手动设置代理,将电脑的地址填入其中,端口为我们在“Connections”中设置的端口。
最后附带截屏:
burp+fiddler+雷电模拟器
burp+charles+逍遥模拟器