fiddler抓包详细教程--设置过滤

html-css015

fiddler抓包详细教程--设置过滤,第1张

1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

2.打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了

from all processes :抓所有的请求

from browsers only :只抓浏览器的请求

from non-browsers only :只抓非浏览器的请求

from remote clients only:只抓远程客户端请求

(注意:如果手机设置代理后,测完之后记得恢复原样,要不然手机无法正常上网。)

一个典型的工作场景是:线上的某个页面出现了bugs,需要紧急修复。这时候有个简单的传统做法是,将问题页面另存为本地html文件,然后疯狂的寻找并修复bugs,等弄好了,再将修改后的js和css上传到线上并检查校验bugs是否已修正。上面的方法,对于简单页面,是够用的。但是对于稍微复杂的页面,IE的另存为经常不保真,如果页面中涉及Ajax等bugs,保存到本地更是难以调试。这时有个很自然的做法是,将开发环境Run起来,当时怎么开发的,现在就怎么调试。这样做肯定能解决问题,但要调动很多资源,后台开发工程师、前台开发工程师等等都要参与。对于小团队来说,也许是可行的,对于大团队来说,如此大动干戈,除非到了最后,是不会这样做的。那我们应该怎么做呢?先来看一个工具:Web开发中有个大名鼎鼎的工具:Fiddler. Fiddler是一个http调试代理,它能够记录你电脑和互联网之间的所有http通讯。Fiddler可以让你检查所有的http通讯,设置断点,以及Fiddle(Fiddle的英文意思是胡乱修改,很幽默的表达Fiddler的用途)所有“进出”的数据(指cookie,html,js,css等数据)。 嘿嘿,是否从上面的介绍中嗅探到了某种解决方案?Fiddler可以让我们Fiddle所有”进出“的数据!我们要调试线上页面的bugs时,可以先分析是什么文件引起的,找出这些嫌疑文件,下载到本地,然后利用Fiddler将线上的请求Fiddle到本地的对应文件。这样我们就可以随心所欲的修改这些嫌疑文件了,直接刷新线上的页面就可以看到效果,烦人的环境问题根本就不用考虑,而且一切都是高保真的。上面说的是思路,下面我会举个例子来说明。举例子之前,请先安装Fiddler(怎么下载安装就不多了,一路Next)。安装好后,在IE的工具条上会出现Fiddler2图标,点击启动Fiddler. 启动后,通过IE访问任何网站时,所有http进出数据都会在Fiddler上显示出来。但是等等,怎么老说IE呢?虽然在IE上能通过IE Developer Toolbar和Companion.JS来调试CSS和JS,但被firebug宠坏了的我们,总期望着Firefox上能搞定的问题绝不通过IE去调试。为了我们的美好期望,根据Fiddler的官方说明,我们只要简单的进行以下操作即可:首先将要调试的文件下载到本地,启动Fiddler,在AutoResponder栏勾选启用,并添加替换规则:如上图添加两条规则后,刷新页面,上面两个js文件就从本地获取了,嘿嘿。接下来,用喜欢的文本编辑器尽情的调试吧,就像当初开发时一样。等把bugs解决了,压缩并上传相应的js文件,并通知后台开发者修改vm中js文件的时间戳,然后等着发布就行。CSS也是一样的调试,不赘述。在firefox、Safari、Opera中的的使用方法类似,不多说。其它和前端开发调试密切相关的技巧:2.使用DIFF比较http包的统计数据;3.使用Filter过滤信息。比如禁用JS, 设置断点等等。4.使用bpu + Inspectors动态修改Response. 比如修改页面中的JS代码片段等等,非常有用。5.使用Request Buidler测试请求。可以很方便的测试ajax代码(可惜不支持断点)。6.使用Statistics + Timeline + neXpert查看性能等统计数据,可以分析网页加载慢的原因。7.使用CustomRules, 自定义配置和命令等。比如修改var m_DisableCaching: boolean = false的值为true, 就可以默认禁止缓存。还可以自定义命令等等。8.开发自己的扩展。

对于这种,我说两种方法:1、将你所有的JSP页面单独放在一个文件夹里(假如jspPage),jspPage文件夹里可根据类别分若干子文件夹,再把相对应的JSP放在子文件夹里;JS、CSS及图片等分别放在外面的文件夹里(与文件夹jspPage并列)再:/jspPage/*就行了一般用的就是这种2、在过滤的JAVA文件中,在doFilter方法里进行判断,将后缀名为.css、.js等直接设置为通过就行了,这种较为复杂,在一些特殊情况下才用到,一般不推荐