抓包工具是我们实际工作中经常用到了!抓包工具在我们工作中主要用在:
A:抓取发送给服务器的请求,观察下它的请求时间还有发送内容等等;
B:去观察某个页面下载组件消耗时间太长,找出原因,要开发做性能调优;
C:或者我们去做断点或者是调试代码等等。
第一个Fiddler:
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。
既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,web客户端和服务器的请求如下所示:
特点:1.Fiddler是一个独立的应用,可以调试PC、Mac或Linux系统和移动设备的之间的通信,支持大部分框架如java、.net、java、Ruby,需要设置代理。
2.能够暂停Http通讯,并且允许修改请求和响应方便进行安全测试,也可以设置检查点做功能测试。
3.通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control头,那么他就不会被缓存在客户端。
4.可以通过Composer进行接口测试。
第二个Firebug:
1、Firebug是firefox下的一个扩展,它除了能进行网络分析还能够调试所有网站语言,如js、Html、Css等,支持各种浏览器如IE、Firefox、Opera,、Safari。
2. Firebug是开源工具,能够将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,方便我们对网页进行调优。
3.Firebug编辑、删改任何网站的CSS、HTML、DOM以及JavaScript代码,可以通过小箭头定位页面元素。
第三个Charles:
Charles是mac os和windows下的另外一个抓包软件(均收费,可破解),功能与fiddler类似,优点是可以自定义上下行网速、External Proxy、反向代理配置简单、可解析AMF协议数据……
Charles和Firebug有很多相同之处。但是也有很多不同之处:
1.接口数据呈现方式对比:
(1) Charles树状结构呈现于屏幕,清晰易区分
(2)Fiddler默认按时间倒叙呈现所有接口数据,不易区分
个人觉得图形界面上Charles更易使用,当然可以通过过滤抓取的接口数据,这样Fiddler下也就很容易区分你要找的接口了。
2.针对项目App抓取的接口数据全面性对比:
(1)Charles对于https无法直接获取到,可获取的呈现出来也都是乱码,需要安装ssl证书,后面会写具体设置方法。
(2)Fiddler可以直接抓取所有接口数据,无需设置。
在同时使用Fiddler和Charles抓取项目app的数据时发现:
Charles是获取到的数据没有Fiddler全面,想要的数据几乎都没抓到,比对后发现Charles没有抓取到的数据刚好在Fiddler下全部都是https协议的,对于这部分https协议Charles几乎都获取不到,能够获取到的也都是乱码状态,问题找到啦!
解决方案:https://blog.csdn.net/baidu_32542573/article/details/83624472
https://blog.csdn.net/u011032846/article/details/50350752
第四个httpwatch:
1. httpwatch与IE和firefox浏览器集成,但不支持chrome;httpwatch界面清晰直观,发送请求后可以快速简单的查看Cookies, Headers, Query Strings and POST data,能够通过页面分组处理多页面场景。
2. 实时分级时间展示图能够展示一个http/https请求的处理过程;通过不同的颜色展示网络请求计时,如DNS查询,tcp连接;以瀑布形式展示浏览器事件,例如从浏览器渲染和页面加载计时就开始了,可以自动检查性能问题。
3. 安装简单,不需要设置代理和证书;提供接口API可以被大部分编程语言自动化调用、录制、保存结果。
4. 但只能看不能修改。
第五个科来网络分析系统:
1.科来网络分析系统是一款专业的通过抓取网络数据包进行网络检测,网络协议分析工具,可实时监测网络传输数据,全面透视整个网络的动态信息。除了能实时检测每台电脑的上网情况,邮件收发情况,网络登录情况,网络流量外,还具有强大的数据包解码分析功能,可诊断网络故障,定位网络瓶颈,检测网络安全隐患,支持多种协议。
2.一般用于抓取其他协议包
本文参考:http://www.51testing.com/html/53/462853-3717382.html