fidddler已经用了3年了,一般就是抓包,看基本的信息,然后就是本地文件替换网络文件。 然后有一些很有用的东西的却没有深入的学习过. -_-!.
抓https的包
fiddler的过滤器的使用
一些小问题的记录
抓https的包
直接抓https的包是不行的,因为被加密了,然后去网上查一些资料,写的过程超麻烦,fiddler要做设置,还要下载证书,还要对浏览器做设置......-_-!!!
不过那些教程都是针对fiddler2的,现在都有fiddler4了,抓取https的请求变的非常简单了,首先得下载个fiddler4
下载地址 http://www.telerik.com/download/fiddler
抓取https的步骤如下
1.Tools-->Fiddler Options,会弹出Fiddler Options的选项卡,选择https选项卡
2.勾选Capture HTTPS CONNECTs,Decrypt HTTPS traffic,这时会弹出一个框
这个框是提示你,下载一个证书
为什么要安装证书了?请看这篇文章
3.直接点yes按钮,这是会出现一个中文的弹框,点是按钮,然后就全部操作完成了.
好了,现在可以抓取https的包了,然后个小测试,抓取下12306的登陆接口试试
https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=passenger&rand=randp&0.5609426787123084
使用filters
filters能干嘛?能过滤...
1.左边的框有很多请求,我需要找到几个域名下的请求
2.只想抓取某个域名下面的请求
3.只想抓取某个些静态资源的请求
4.只想抓取文件的文件或者比较小的文件
5.抓取的请求可以断点咯
1和2其实基本都是一样的操作,1只是先抓的包,在去过滤,2是先写好过滤条件,在去抓包.
1通过Actions--->Run Filterset Now来实现对左边请求过滤
左边的框有很多请求,我需要找到几个域名下的请求
我只想看某些域名下的请求,比如进入www.paipai.com,只想查看paipai域名下的请求.
操作如下
1.勾选user Filters
2.在Hosts选框选择 No Host Filter-->Show only the following Hosts
3.在下面的输入框写入*.paipai.com
4.旁边的Actions按钮,选择 Run Filterset Now
*.paipai.com表示所有的拍拍的域名,如果想抓取多个域名下的请求可以用;隔开,格式如下
www.paipai.com;static.paipaiimg.com
只想抓取某个域名下面的请求
操作其实跟上面一样的,开始的时候就设置好Hosts选项,在进入页面即可
只想抓取某个些静态资源的请求
比如进入www.paipai.com,我只想抓取js.css等静态资源
操作如下
1.在Request Headers里面勾选 Show only If URL contains
2.在右边的输入框输入 js css(这边不同的后缀使用空格隔开的)
只想抓取文件的文件或者比较小的文件
分析网络加载瓶颈的时候,文件的大小也是一个衡量的标签,通过过滤条件,可以很快的找到比较大的文件
找出js文件大于100k的文件,css大于100k的文件
操作如下
1.在Request Headers里面勾选 Show only If URL contains
2.在Response Type and Size里面勾选 Hide smaller than选项,右边的框中输入100
抓取的请求可以断点咯
这个功能,其实也没用过,还不知道哪里有什么作用
在Breakpoint框,选需要断点的选项
然后符合规则的请求不会被请求,点了该请求后,才开始请求
一些小问题的记录
使用的过程中会遇到一些小问题,记录下
中文乱码问题
可以去这个地方看这个问题 链接地址
代理本地文件
只是记录下写法
AutoResponder-->Add Rule
在下面的输入框输入
EXACT:http://common.cnblogs.com/script/jquery.js
C:\Users\Administrator\Desktop\jquery.js
使用fiddler后,网页无法打开
在使用fiddler的时候,fiddler突然意外关闭(或者突然断电),在打开浏览器是不能浏览的,这是因为在Fiddler启动后,会自动添加一个 IP 为127.0.0.1(回路)端口号为8888的系统代理,如果意外关闭fiddler,代理设置就没有删除掉,所以重新开浏览器还是通过这个代理,页面就打不开了
解决办法就是开一个下fiddler,在关闭fiddler,它会自动把设置修改回去的
怎么在TextView里面看不到返回的内容了(比如js,css,html都看不到)
这有可能是2中情况导致的
1.是因为该请求是304被本地浏览器缓存了,所以没有东西返回
2.是在TextView的上方有一个小提示,点了之后才会显示,如图
fiddler提供本地文件替换网络文件的方式太麻烦
恩是太麻烦,以前同事写的个插件用起来挺简单的
在fiddler的安装目录找到Scripts文件夹,把Richinfo.Fiddler.Extend.dll放进去,重启fiddler即可
装好后,多了个选项卡,需要代理的文件,先复制,在那个选项卡里按ctrl+v即可