WEB 服务器调试利器 -- Tamper Data

简介:
一. 简介
      作为 Firefox 的插件, Tamper Data 简单易用,功能强大,可以用来查看和修改 HTTP/HTTPS 的头部和 POST 参数;可以用来跟踪 HTTP 请求和响应并记时;可以对 WEB 站点进行某些安全测试,从而为调试 WEB 配置带来了极大的便利,是网站维护人员不可多得的实用工具。
 
二. 安装
      Tamper Data 的安装很简单,如下所示:
      第一步:打开 Firefox,进入 google.cn,搜索 “tamper data”,并点击搜到的 " Tamper Data :: Firefox Add-ons -"项。 如下图所示:
 
       
        第二步:进入 Tamper Data 安装页面后,找到下面的位置并点击,开始安装:
     
 
          第三步:安装完后后,可以在 Firefox 菜单栏的“工具”菜单项里面找到 Tamper Data,如下图所示:
 
 
三. 使用
      Tamper Data 的使用也比较简单,下面介绍了其主要的用法:
      点击 Firefox 菜单栏上“工具”菜单项里面的“Tamper Data”,就会弹出 Tamper Data 的主窗口,如下图所示:
 
       
         可以看出,其主窗口主要分成三部分,分别如图中的 1,2,3 所示。当我们打开 Tamper Data 后,我们浏览网页时发出的每一个 HTTP 请求及其对应的响应都会被 Tamper Data 记录下来。第 1 部分显示每一个 HTTP 请求及其对应的 HTTP 响应的概要信息,其中包括了大量有用的信息,比如页面元素大小,HTTP 请求的方法,HTTP 响应的状态值,等等。最值得注意的是“Duration”和“Total Duration”这两个字段的值,他们显示出了打开每一个页面元素所花费的时间和打开该页面花费的总时间。根据这些时间值,就可以判断出打开我们页面的速度如何,是哪些页面元素影响了整个页面打开的速度,从而为我们进一步优化页面提供宝贵的信息。当我们在第 1 部分选中某条概要信息后,第 2 部分会显示出对应的 HTTP 请求的头部信息,第 3 部分会显示出对应的 HTTP 响应的头部信息。
        如果我们比较喜欢查看图型化的统计信息,那么可以在 Tamper Data 主窗口的第 1 部分单击右键,在弹出的菜单上点击“Graph All”,如下图所示,那么这些每个页面元素及其打开它们所花费的时间,就会以图形的方式,直观地显示出来。具体的图形,就不提供了。
 
 
        接下来,我们看看几个实际的例子。
        第一个例子:我们把 APACHE 配置为,当用户第一次浏览我们的网站时,向用户的浏览器写入一个 Cookie,以方便对他们的访问行为的跟踪,然后,我们需要验证配置是否正确。于是,我们开启 Tamper Data,然后再访问我们网站的某个页面,接着分析 Tamper Data 所记录的数据。可以从第 3 个窗口看到,我们的 APACHE 服务器确实向我们的浏览器写入了预先配置的 Cookie,如下图所示:
 
 
        接下来,我们去体会 Tamper Data 的真实含义,即“篡改数据”(或者说定制 HTTP 请求):截取浏览器发出的每一个 HTTP 请求,提示我们选择是要进行定制,还是不做定制而直接提交请求,还是终止当前被截取的请求,然后根据我们的选择决定是打开定制窗口,还是直接向 WEB 服务器提交请求,还是终止当前的请求。
        默认情况下,Tamper Data 不会截取对图片的请求,所以,如果我们需要对获取图片的请求进行定制,那么需要一点点修改,点击 Tamper Data 主窗口上的“Option”,会出现下面的窗口,勾选“Tamper with Images etc.”就可以了。
        顺便提一下,从下面窗口的内容可以看出,Tamper Data 还提供了一些进行 XSS(跨站脚本)攻击和 SQL 注入攻击的代码,而且允许我们加入自己的攻击代码,极大地方便了我们对 WEB 站点进行安全测试。
 
 
         是该进行“Tamper”的时候了。
     点击 Tamper Data 主窗口上的“Start Tamper”,开启对 HTTP 请求的截取。
 
 
        一旦开启了对 HTTP 请求的截取,对于浏览器发出的每一个请求,Tamper Data 都会截取,然后显示出下面的窗口,要求我们作出选择:
 
 
        在此我们选择“Tamper”,准备对 HTTP 请求进行定制,对我们的 WEB 服务器配置进行测试和调试。
        点击率“Tamper”之后,会出现下面的窗口。可以看到,窗口的顶部,显示当前被截获的 HTTP 请求,左边窗口显示的是浏览器发出的 HTTP 请求的头部各字段,右边窗口显示的是浏览器发出的 HTTP 请求的  POST 参数。在这两个窗口里面,我们可以修改浏览器提交的 HTTP 请求头部字段/POST 参数,删除某些 浏览器提交的 HTTP 请求头部字段/POST 参数,或者添加其他合法的 HTTP 请求头部字段/POST 参数。很强大吧?
 
 
         现在,我们想测试自己配置的图片防盗链是否正常起作用。于是我们添加一个 Referer 头部字段,并输入 [url]www.cisco.com[/url] ,如下图所示,点击“OK”提交后,发现我们的请求被重定向到 go_way.html 页面,可见我们的配置是正确的。
 
 
         下面是测试我们配置的防恶意浏览器访问。在下面的窗口,修改浏览器提交的 User-Agent 字段,将其设置为我们禁止的恶意访问浏览器之一,比如 sogou spider,点击“OK”提交后,发现我们的请求被禁止了,可见我们的配置是正确的。
 
 
        这样的例子,还可以写很多,在此就不再讲述了。有兴趣的读者可以去深入研究 Tamper Data。
 
四. 总结
       Tamper Data 是我见过的最好用的 WEB 调试工具之一,既可以统计每个页面及其元素的打开速度,又可以定制 HTTP 请求,对我们的网站进行安全测试。作为网站维护人员,实在是有必要掌握它,为自己的兵器库增加一种厉害的兵器。
 
附:本文提到的 APACHE 配置,可以参考我的另外一篇文章《我这样装 APACHE 》


本文转自zkjian517 51CTO博客,原文链接:http://blog.51cto.com/zoukejian/62057

相关文章
|
移动开发 数据挖掘 开发者
服务器发送事件(SSE)在现代Web开发中的关键作用
服务器发送事件(SSE)是HTML5标准协议,用于服务器主动向客户端推送实时数据,适合单向通信场景。相比WebSocket,SSE更简洁高效,基于HTTP协议,具备自动重连、事件驱动等特性。常见应用场景包括实时通知、新闻推送、数据分析等。通过Apipost等工具可轻松调试SSE,助力开发者构建高效实时Web应用。示例中,电商平台利用SSE实现秒杀活动通知,显著减少延迟并简化架构。掌握SSE技术,能大幅提升用户体验与开发效率。
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
410 3
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
1611 2
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
249 3
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
1376 1
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
245 0
|
8月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
735 10
|
8月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
814 8
|
8月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
8月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。