http://blog./uid-27004869-id-5185410.html 2015 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。
不仅如此,它还可以支持请求重放等一些高级功能。
显然它是可以支持对手机应用进行http抓包的。 右侧窗口: Stastics:统计选中的一个或多个请求相关数据,大小、耗时 Inspectors:多种方式查看Request或者Response的详细消息 AutoResponder: 设置一些规则将符合规则的请求指向本地。 Composer:创建发送HTTP请求 Log:日志 Filters:设置会话过滤规则 Timeline:网络请求时间
当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理中去。你可以通过检查代理设置对话框来验证Fiddler是被正确地截取了web请求。操作是这样的:点击IE设置,工具,局域网设置,最后点击高级。 作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddler。这样,就能明白Fiddler很多作用了吧!
当你关闭Fiddler的时候,它就会自动从系统注册表中移出。
通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。
Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯, 情切允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
inspectors tab下有很多查看request或者response的消息。 raw tab可以查看完整的消息 headers tab 只查看消息中的header WebForms tab 以直观的界面查看Body值和QueryString值 Cookies tab 以直观的界面查看header中的cookie值 通过陈列出所有的http通信量,fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。 使用statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。 选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。 从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。
fiddler的左下角有一个命令行工具叫做quickexec,允许你直接输入命令。 常见得命令有: help 打开官方的使用页面介绍,所有的命令都会列出来 cls 清屏 (ctrl+x 也可以清屏) select 选择会话的命令 ?.png 用来选择png后缀的图片 bpu 截获request
fiddler中设置断点修改request
设置好断点后,你可以修改httprequest 的任何信息,包括host, cookie或者表单中的数据。 设置断点有两种方法: 第一种:打开fiddler 点击rules-> automatic breakpoint ->before requests(这种方法会中断所有的会话)
如何消除命令呢? 第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢?
fiddler中设置断点修改response
第一种:打开fiddler 点击rules-> automatic breakpoint ->after response (这种方法会中断所有的会话) 如何消除命令呢? 点击rules-> automatic breakpoint ->disabled 第二种: 在命令行中输入命令: bpuafter www.baidu.com (这种方法只会中断www.baidu.com) 如何消除命令呢? 在命令行中输入命令 bpuafter
fiddler中创建autoresponder规则
fiddler 的autoresponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
fiddler中如何过滤会话
每次使用fiddler, 打开一个网站,都能在fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话. fiddler中有过滤的功能, 在右边的filters tab中,里面有很多选项
补充知识: Public 响应会被缓存,并且在多用户间共享。 Private 响应只能够作为私有的缓存,不能再用户间共享。 No-cache 响应不会被缓存 No-store 响应不会被缓存,并且不会被写入到客户端的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。 Max-age=#seconds 响应将会某个指定的秒数内缓存,一旦时间过了,就不会被缓存。 Must-revalidate 响应会被重用来满足接下来的请求,但是它必须到服务器端去验证它是不是仍然是最新的。 |
|