配置
配置 Connecttions 如下图 选中 Tools —> Options —> Connecttions;
技术分享图片
配置 Https 如下图所示:
技术分享图片
因为要抓取https的数据 所以还需要生成证书,一路点击确认 Actions —> Trust Root Certificate :
技术分享图片
导出证书到桌面, Actions —> Export Root certificate to Desktop,这时就可以看到桌面生成的证书了,这个证书是可以安装到系统或者浏览器的证书列表里抓取桌面软件或者网页https数据包的。
二、手机配置
手机配置需要让电脑和手机设备在同一个局域网里面,所以可以再电脑上开个wifi链接手机
手机在WIFi列表上长按链接的本地局域网WIFI的名称 选择 修改网络 —> 高级设置 —> 代理 —> 手动(一般Android手机都是这个套路)
配置参数如下图:
技术分享图片
配置完成之后,需要在手机浏览器上面输入代理服务器的IP和端口访问地址,下载证书将Fiddler生成的证书安装到手机上,例如我电脑的IP :http://192.168.60.107:8888 会看到如下页面:
注意:访问地址前是需要打开fidder界面才能访问的
技术分享图片
这里还需要注意一点就是在抓移动端数据的时候,用到了开头下载的 Fiddlercertmaker 插件,这个插件可以帮助我们抓取到移动端的数据,直接点击运行,然后重启Fiddler,如下图点击确定即可:
技术分享图片
至此手机访问网络就可以看到抓到Https网络请求了以及获取的数据:
技术分享图片
三、浏览器配置
如果我们要抓取web页面的https数据包,请首先配置浏览器代理,例如火狐浏览器,选项 —> 常规 —> 网络代理 —> 设置:
技术分享图片
然后将上述导出到桌面的证书添加到浏览器的证书列表里面,当然也可以通过访问代理服务器下载证书,进入选项—>隐私与安全---->证书—>查看证书, 如下图:
技术分享图片
web配置也完成了可以看到访问百度成功了,并且拿到了网页数据:
技术分享图片
遇到的问题
对于移动端抓包,如果我们按配置,就是抓不到数据包,这里一定要注意是否使用了Fiddlercertmaker这个插件,这个是官方提供的专门抓取Android和IOS Https数据包的插件;
还有就是通过以上的配置还是抓取不到数据,那问题很可能就出现在证书上了,这里的方法就是将Fiddler生成的证书全部清除掉重新生成证书,然后重新安装,这里看一下再浏览器抓不到包的问题;
1.) 打开"运行"对话框(Win+R),输入命令:certmgr.msc 回车,打开证书管理并搜索证书,操作(A)—>查找证书—> 删除:
技术分享图片
2.) 打开火狐浏览器,进入选项—>隐私与安全---->证书—>查看证书,查找以DO_NOT开头的关于Fiddler的证书,每个选项tab里面都找一找,然后干掉;
技术分享图片
3.) 证书清除干净之后我们重新生成证书,执行上述的配置.3和4生成证书步骤,注意:这里生成证书有可能会失败 ,弹出“creation of the root certificate was not successful”提示;
4.) 解决办法:打开"运行"对话框(Win+R)切换到Fiddler安装目录 执行命令:makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
5.)重新生成证书后导入到浏览器即可,而对于移动端,只需要清除移动端的证书重新执行上述手机配置.3步骤 。