【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包
一、安装Fiddler
百度搜索:Fiddler抓包工具,然后安装即可。
然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息。
但是:默认情况下,Fiddler只抓取Http格式的。
二、配置Fiddler
1、配置Fiddler允许监听Https
(1)打开Fiddler菜单项Tools->TelerikFiddler Options
(2)打开HTTPS配置项,勾选“CaptureHTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的对话框选择是(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行)
如果是手机跟电脑,用wifi进行链接的话还需要选择“…fromremote clients only”。
如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore servercertificate errors”。
2、配置Fiddler允许远程连接
(1)打开Conections配置项,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:
配置完毕OK后,需要重启Fiddler,到此PC端位置完成。
3、抓取客户端使用HttpURLConnection的包,在Rule->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"; } }
三、配置手机参数
1、首先,需要将手机号额电脑处于同一个网络下。
2、然后获取电脑端的IP地址,通过cmd->输入 ipconfig可以查询。
3、然后获取Fiddler的端口号,Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888;接下来开始操作手机。
(以下为参考:http://blog.csdn.net/gld824125233/article/details/52588275)
第一步:手机和电脑连接同一个网络,打开手机浏览器,输入http://ip:端口号,点击前往;见下图:
第二步:前往之后会跳转到证书下载页,见下图:点击FiddlerRootcertificate下载证书;
第三步:点击下载之后,安装证书并起个名字,随便写就行,点击确定;
第四步:要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可;
第五步:更改手机无线网的代理
手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可,
第六步:操作手机,电脑fiddler中会显示一些http信息,成功。
接下来就可以通过电脑,来监听手机的请求了。
四、其他方面
1、经常会遇到监听Fiddler的手机无法进行上网操作,此时,需要关闭Fiddler的监控。
在手机wifi里,找到代理,并去掉就可以了。
2、删除手机中证书
安卓系统设置—安全—收信任的凭证—用户,点击证书删除即可;
3、删除手机上密码
手机系统—安全—密码,删除系统密码即可;
参考链接;
http://blog.csdn.net/gld824125233/article/details/52588275
http://blog.csdn.net/idlear/article/details/50999490