一. 简介
      作为 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 》

本文出自 “邹可见 ” 博客,请务必保留此出处http://zoukejian.blog.51cto.com/131276/62057

WEB 服务器调试利器 -- Tamper Data相关推荐

  1. 关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) 转自:https://my.oschina.net/leejun2005/blog/151103 1.原理简介 ...

  2. 【转】“无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域”错误提示的解决...

    错误提示: 无法在Web服务器上启动调试.您不具备调试此应用程序的权限,此项目的URL位于Internet区域 一般用下面的方法可以解决: 1:确认在"配置属性"中的"启 ...

  3. 无法在WEB服务器上启动调试,Web 服务器配置不正确

    访问IIS元数据库失败  思考可能是次序出了问题,解决  1.打开CMD,进入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727  2.输入 aspnet_r ...

  4. VS2013 VS2015 VS2017调试出现无法启动iis express web服务器

    最近老是遇到这个问题,天天如此,烦死人,网上答案繁多,但是都解决不了,也是由于各种环境不同导致的,这里把几种解决方法都记录下 一.其他项目都可以,就这么一个不行 因为其他项目都可以,就这么一个不行,所 ...

  5. VS2015调试时没有启动IIS Express Web服务器 或者停止调试时 IIS Express 跟着关闭

    解决方法: 打开 解决方案资源管理器 -> 点选 Web 项目选择 -> 属性 -> Web "服务器"  去掉勾选"将服务器设置应道所有用户" ...

  6. 无法在WEB服务器上启动调试,Web 服务器配置不正确 解决

    无法在WEB服务器上启动调试,Web 服务器配置不正确 解决 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  7. 无法在Web服务器上启动调试。与Web服务器通信时出现身份验证错误

    使用Visual Studio 2005(Visual Studio 2008亦存在此问题)调试设置了主机头的网站时出现如下错误信息: --------- Microsoft Visual Studi ...

  8. 异常解决之——无法在Web服务器上启动调试。远程服务器返回错误:(405)

    最近调试webapi出现错误:异常解决之--无法在Web服务器上启动调试.远程服务器返回错误:(405) 英文异常:Unable to start debugging on the web serve ...

  9. 配网自动化WEB服务器,嵌入式工业设备联网利器——超级网口K3 V2问世!

    原标题:嵌入式工业设备联网利器--超级网口K3 V2问世! 文章首发于公众号"有人物联网" 以往,串口设备由于联网不便令业界颇为苦恼.当串口服务器出现后,这个问题得到了有效解决. ...

  10. 无法web服务器上启动调试 未能启动asp.net,.net - 无法在Web服务器上启动调试。 无法启动ASP.NET调试VS 2010,II7,Win 7 x64...

    .net - 无法在Web服务器上启动调试. 无法启动ASP.NET调试VS 2010,II7,Win 7 x64 我在Windows 7 x64上运行Visual Studio 2010(作为管理员 ...

最新文章

  1. mysql6.0设置时区_关于Mysql6.0+的时区错乱问题
  2. 用WWWGrep来检查你的网站元素安全
  3. java开发webservice_Java WebService开发详解
  4. windos 2008 vista 下的端口范围改变
  5. 小样本学习 few-shot learning
  6. 【云计算】Docker删除名称为none的Image镜像
  7. IOS小技巧–用runtime 解决UIButton 重复点击问题
  8. Java持久性API(JPA)第7讲——实体生命周期及生命周期回调方法
  9. Fedora32升级Fedora33后无线网络无法连接的问题
  10. 远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比
  11. java的remove iterator_Java集合 iterator.remove()方法详解
  12. OpenGL基础5:第一个正方形
  13. 自动回复html模板邮件,outlook邮件自动回复设置
  14. AutoLisp从入门到放弃(十三)
  15. 高等数学笔记:定积分换元谬误
  16. 磁盘阵列是什么,主要做什么用?
  17. oracle11g ora 29927,listagg函数 ORA-01489 result of string concatenation is too long的解决办法 【博森瑞】...
  18. 选择Seo老域名的方法
  19. Linux的七个启动级别详解(rc0 - rc6)
  20. Exchange_2016在OWA登录页面添加密码修改功能

热门文章

  1. 山东大学(青岛)博士后招聘-微生物技术国家重点实验室专场
  2. 2019-2025新能源汽车发展趋势与产业链技术路线解析
  3. iOS13.0上适配深色模式
  4. 原创nio socket mina+javascript+flash实现commet长连接网页聊天室
  5. SPOJ 4487 Splay 基本操作
  6. 十二进制转十进制-练习
  7. 优雅地解决Visio图片插入word中虚线变实线的问题
  8. npm install报错error 404 Not Found - GET httpsregistry.npm.taobao.org@xt
  9. Mac 锁屏的各种方法
  10. 小米手机无限重启怎么办?