购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.1 Fiddler抓包工具

Fiddler是一款免费的HTTP数据包抓取软件。它的特点是灵活、功能强大,支持众多的HTTP调试任务,是Web应用、移动应用开发的调试利器。这款软件可以记录所有客户端和服务器之间的HTTP请求,具有监视、设置断点、修改输入/输出数据等功能。Fiddler工具能够帮助开发者或测试人员进一步了解HTTP,其他相同类型的工具有HttpWatch、Firebug、Wireshark等。

Fiddler的工作原理如图1-10所示,它是以代理Web服务器的形式工作的,使用的代理地址为127.0.0.1,端口为8888。对于客户端来说,Fiddler代理扮演的是服务器的角色,可以接收HTTP请求,返回HTTP响应。对于Web服务器来说,Fiddler扮演的是客户端的角色,可以发出请求和接收响应。当正常关闭Fiddler时,它会自动注销,是不会影响其他程序正常运行的。如果Fiddler非正常退出,这时因为Fiddler没有自动注销,会产生网页无法访问的问题,这可以通过重新启动Fiddler的方式来解决。

安装Fiddler之后就可以进行抓包了。在Fiddler打开的状态下,当我们通过浏览器访问网页时,可以在Fiddler的工作界面内看到所有抓包内容,如图1-11所示。其中,左侧区域是抓取到的数据包列表,右侧区域通过多个标签页的形式显示各种类型的信息,其中最常用的标签页是lnspectors,单击数据包列表中的任意一行可以查看抓取到的请求和响应的详细内容。

图1-10 Fiddler的工作原理

图1-11 Fiddler工作界面

左侧区域的数据包列表包含若干个字段,如图1-12所示,要分析数据包首先需要了解这些字段的含义。

图1-12 Fiddler左侧面板

(1)#:HTTP请求的顺序,从1开始,按照页面加载请求的顺序递增。

(2)Result:HTTP响应的状态,即HTTP响应报文中的状态码。

(3)Protocol:请求使用的协议(如HTTP/HTTPS)。

(4)HOST:请求地址的域名/lP。

(5)URL:请求的服务器路径和文件名,也包含GET参数。

(6)BODY:请求的大小,以byte为单位。

(7)Caching:请求的缓存过期时间或缓存控制header的值。

(8)Content-Type:请求响应的类型。

(9)Process:发出此请求的Windows进程及进程lD。

(10)Comments:用户通过脚本或者菜单给此Session增加的备注。

(11)Custom:用户可以通过脚本设置的自定义值。

右侧的面板除了lnspectors标签页外,主要有Statistics(统计)页、AutoResponder(自动响应)页、Composer(构建)页、Log(日志)页、Filters(过滤)页、Timeline(时间轴)页等。其中Filters页如图1-13所示,过滤器可以对左侧的数据包列表进行过滤,我们可以标记、修改或隐藏具有某些特征的数据包。

图1-13 Filters页

Fiddler 软件中的AutoResponder(自动响应)页非常实用,AutoResponder 允许用户拦截指定规则的请求,并返回本地资源或Fiddler资源,从而代替服务器响应。这个功能在开放调试中是很有用的。例如,在前端开发中,如果发现服务器上某个样式或动作脚本文件有问题,直接修改会影响生产环境的稳定。利用Fiddler的AutoResponder功能,可以将需要修改的文件重定向到本地文件上,这样就可以基于生产环境进行修改并验证,确认后再发布。再比如服务器端提供了接口和数据格式给前端调用,可能由于某些原因,接口还未开发完毕,或者返回数据有异常,为了不影响开发进度,前端仍然可以继续调用这个接口,然后通过Fiddler将请求转向本地的数据文件。 fHgfeSy+QN76g28f7RyIrJRBbRMzoFexYE978HZ8REhzRURcxO6lZIbmeYDOCl0+

点击中间区域
呼出菜单
上一章
目录
下一章
×