App抓包原理
-
客户端向服务器发起HTTPS请求
-
抓包工具拦截客户端的请求,伪装成客户端向服务器进行请求
-
服务器向客户端(实际上是抓包工具)返回服务器的CA证书
-
抓包工具拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,
将服务器证书替换后发送给客户端。(这一步,抓包工具拿到了服务器证书的公钥) -
客户端接收到服务器(实际上是抓包工具)的证书后,生成一个对称密钥,
用抓包工具的公钥加密,发送给“服务器”(抓包工具) -
抓包工具拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,
发送给服务器。(这一步,抓包工具拿到了对称密钥) -
服务器用自己的私钥解密对称密钥,向客户端(抓包工具)发送响应
-
抓包工具拦截服务器的响应,替换成自己的证书后发送给客户端
常用抓包工具:fiddler,mitmproxy,Charles
fiddler安装和使用
下载:
https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe
安装:一路Next
主要界面介绍:
会话列表界面:
监控面板在点击会话列表界面的某个请求后会出现下面两个界面:
请求面板:
响应面板:
本地CA证书安装
-
点击 Tools - Options - HTTPS - 勾选勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS trafic,会弹出安装证书的提示。一路点是或确定安装即可。
-
重启fiddler,点击右侧Actions,能看一个下拉菜单,点击 Export Root Certificate to Desktop,此时证书会生成到桌面上,名为 FiddlerRoot.cer,点OK保存
-
点击安装
连接手机抓包需要的配置
先设置PC端fiddler:
之后手机需要访问 本地主机IP + 设置的端口,安装证书,证书安装成功后即可抓包。
以上就是关于Fiddler的安装和简单使用。