手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:developer

Web通信分析工具(ZZ)

身为一名WEB开发人员,对于WEB通信当然是非常关心的,对于每一个POST甚至都有可能要抓包 进行分析,但究竟怎么做,用什么做,如何去做,还是有点讲究的。我个人是习惯用fireBug和webdeveloper还有IE下的httpwatch等进行分析。看到这篇文章的介绍,也可以看看别人是怎么做,取别人的之长补自己之短才能有进步嘛。。

原文链接:http://tech.idv2.com/2008/12/30/web-comm-analyzer/

原文作者:charlee

内容如下:(图片下载到了本地了)

在抓虾上看到一篇Web开发分析工具的文章(链接就免了),怎么远没有我用的东西好用呢? 还是介绍介绍我用的吧。由于平常开发只用FireFox,完成后再去调试IE, 所以这些工具绝大部分是针对FireFox的。

如果把Web通信从上到下分为许多层——XMLHttpRequest层,HTTP层,TCP层, 那么这些工具可以分别抓取每个层的通信数据进行分析,结合使用极其强大。

2008/12/31:另外可以参考daniel同学的Web开发常用工具一文,相信会大有帮助哦。

 

XMLHttpRequest层:Firebug

适用范围 Ajax应用程序
优点 使用方便,数据截取完整
缺点 只能分析XMLHttpRequest请求,其他类型的请求无能为力

Firebug应该是尽人皆知了。 它的控制台能监视XMLHttpRequest请求,能看到完整的请求和应答的数据。 用它来调试Ajax程序是最好不过了。

大小: 11.65 K
尺寸: 500 x 230
浏览: 2229 次
点击打开新窗口浏览全图

HTTP层:Tamper Data

适用范围 普通网页,Ajax应用程序,Flash
优点 使用方便,适用范围广,任何HTTP请求都能截获
缺点 只能截获请求头、请求内容、应答头,得不到应答内容;涉及文件下载时效率大幅度降低

Tamper Data比Firebug进了一步, 只要是HTTP请求,它都能抓下来,可惜的是看不到应答内容。 适用于分析请求流程、请求参数、请求数据、重定向URL。 对于非Ajax程序如普通网页、Flash、ActiveX等程序,用Tamper Data来分析十分方便。

大小: 19.78 K
尺寸: 473 x 376
浏览: 1986 次
点击打开新窗口浏览全图

HTTP层:burpsuite

适用范围 普通网页,Ajax应用程序,Flash
优点 适用范围广,截取数据完整,不挑网卡
缺点 使用稍稍麻烦

burpsuite中的proxy功能用于分析Web通信十分好用。 它的原理是架设一个代理服务器,让浏览器通过代理来发送请求,代理就可以截获数据了。

大小: 18.76 K
尺寸: 283 x 376
浏览: 2039 次
点击打开新窗口浏览全图

使用方法为:

  1. 配置proxy,然后设置浏览器使用它的proxy
  2. 访问想要抓取的那个网页
  3. burp suite的proxy中就会看到请求内容,在这里即可详细地分析请求。
  4. 如果想继续分析应答,可以右键点击请求内容,选send to repeater
  5. 切换到repeater标签,点【go】按钮发送请求,在下方就可以看到应答

TCP层:wireshark

适用范围 任何网络程序
优点 适用范围广,截取数据完整
缺点 使用麻烦;不能使用loopback网卡

如果以上方法都不管用,就要祭出终极武器wireshark(原名ethereal)了。 它从网络的最底层入手,可以截获任何类型的网络通信,而不仅仅是HTTP协议。 比如要开发一个邮件程序,需要分析服务器端脚本与POP3服务器之间的通信, 那就非得wireshark出马不可了。

大小: 131.38 K
尺寸: 500 x 371
浏览: 1996 次
点击打开新窗口浏览全图

使用方法:

  1. 在wireshark中选择抓取物理网卡;
  2. 让应用程序发请求;
  3. 在wireshark中停止抓取;
  4. 从抓到的包一览中找出刚才应用程序发出的请求,右键点击选择 Follow TCP Stream,就能看到该请求的完整内容。

这个工具的不足之处是它不能抓取loopback的网卡,也就是说, 如果你的程序连接的是位于localhost或127.0.0.1的服务器, 那wireshark是抓不到的。解决方法是,让程序通过真实物理网卡去连别的机器, 或是使用虚拟机的虚拟网卡也行。

 

Tags: web, developer, analyzer, tools

五种常见的 PHP 设计模式

设计模式只是为 Java™ 架构师准备的 —— 至少您可能一直这样认为。实际上,设计模式对于每个人都非常有用。如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非常有用?本文解释了这些问题。

设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说设计模式 意味着可以更快地设计更好的建筑物。同样的概念也适用于软件。

设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者 的模式。

用较小的示例展示模式的价值是非常困难的。这往往有些大材小用的意味,因为模式实际上是在大型代码库中发挥作用的。本文不展示大型应用程序,所以您 需要思索的是在您自己的大型应用程序中应用示例原理的方法 —— 而不是本文演示的代码本身。这不是说您不应该在小应用程序中使用模式。很多良好的应用程序都以小应用程序为起点,逐渐发展到大型应用程序,所以没有理由不 以此类扎实的编码实践为基础。

既然您已经了解了设计模式以及它们的有用之处,现在我们来看看 PHP V5 的五种常用模式。

 

出于版权问题,我不能继续往下贴。不过原文也很方便的可以被访问到。

原文:http://www.ibm.com/developerworks/opensource/library/os-php-designptrns/index.html
原文译文:http://www.ibm.com/developerworks/cn/opensource/os-php-designptrns/index.html

 

Tags: php, ibm, developer, works