fiddler抓包HTTPS请求实现教程
安装fiddler
首先准备一台可以上网的windos电脑,准备一部智能手机。
fiddler抓包工具:下载地址( 自行百度一搜一大片)。安装,打开如果遇到.net framework错误,下载一个高本版的.net 即可。好了教程已经完成了一大半。
打开fiddler随便打开下浏览器。发现已经可以抓包,但想要抓手机https还需要做一些设置。
配置fiddler
打开fiddler配置Tools –> Fiddler Options.
打开HTTPS配置项,勾选“CaptureHTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的对话框选择是(这里是按照fiddler自己的证书)如果跟我一样手机跟电脑是用wifi进行链接的话还需要选择“…fromremote clients only”。如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore servercertificate errors”。
打开Conections配置项, 这里可以修改Fiddler代理端口号。勾选“Allow remote computersto connect。提示需要重启fiddler。
哈哈,高端的来了,需要写点代码。这里是为了可以抓客户端使用httpURLConnection的包。
Ruler –>CustomizeRules
在函数OnBeforeResponse里面添加下面代码
if (oSession.oRequest[
"User-Agent"
].indexOf(
"Android"
) > -1 && oSession.HTTPMethodIs(
"CONNECT"
)) {
oSession.oResponse.headers[
"Connection"
] =
"Keep-Alive"
;
}
添加后代码为:
static
function
OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession[
"ui-hide"
] =
"true"
;
}
if (oSession.oRequest[
"User-Agent"
].indexOf(
"Android"
) > -1 && oSession.HTTPMethodIs(
"CONNECT"
)) {
oSession.oResponse.headers[
"Connection"
] =
"Keep-Alive"
;
}
}
不要忘记重启fiddler!!!
配置手机
保证手机跟pc是在同一个网段下。
配置手机连接的wifi,可能每个手机打开wifi配置的方式都不太一样,仔细研究下,选择已经连接的网络,打开修改网络窗口。显示高级属性,配置网络代理–>手动 代理服务器主机名:填写pc机的IP地址即可例如:192.168.0.4,代理服务器端口号:fiddler的代理端口号,如果没有修改就是8888。
关键步骤哈:
下载安装fiddler的证书
在手机浏览器打开 代理服务器:端口号 例如上面填写的就是192.168.0.4:8888,点击页面中的“FiddlerRootcertificate”链接,在弹出的对话框中随便设置一个名称确定即可。
抓包截图
测试机上没装多少软件,打开百度钱包来试试
好了。大功告成!