2013-11-19

fiddler和wireshark工具介绍及对比 - [测试技术知识]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/wanping-logs/238827556.html

在测试中,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具,而且我们手机客户端和server端通讯比较常用的是http方式,所以针对其通讯特点,常用的抓包工具有Fiddler、Wireshark这两种,下面分别介绍下两个抓包工具的用法。

Fiddler

官网:http://fiddler2.com/

当启动fiddler,程序将会把自己作为一个代理,所以的http请求在达到目标服务器之前都会经过fiddler,同样的,所有的http响应都会在返回客户端之前流经fiddler。图例如下:

测试手机应用,首先要明白他的消息的交互

A.手机客户端发请求给server

B.Server端返回结果给手机客户端。这是一个交互

C.手机客户端向server端发送确认消息,这时候server端收到客户端发送的确认消息,不需要再做任何处理。

如何使用Fiddler

1.     下载安装Fiddler并安装

下载地址:http://fiddler2.com/get-fiddler

2.     配置Fiddler

Tools->Fiddler Options

选择Connections

使用fiddler捕获https会话

默认情况下,fiddler是不会捕获https会话的,所以需要自行设置下。启动软件,点击tools->Fiddler Options,在弹出框选择“HTTPS”,如下页面,将捕获HTTPS连接这一项前面全打钩,点击ok即可操作成功。

Capture HTTPS CONNECTs:捕获https连接

Decrypt HTTPS traffic:解密HTTPS通信

Ignore servercertificate errors:忽略服务器证书错误

3.     手机设置代理

设置手机代理,ip为电脑的ip,端口为:8888

具体设置方法:略

4.     收集消息

手机操作被测app,fiddler就会收到app发送的消息,我们可以分析app发送的消息和返回的结果,来发现一些问题。

收集消息的时候,要对fiddler功能有所了解,下面介绍下fiddler工具各个功能模块。

1)fiddler的基本界面

首先介绍下fiddler基本界面。

Inspectors tab下有很多查看Request或者Response的消息。其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图

2)filter的http统计

通过fiddler会话列表中会显示捕获的所有的http通信量,并以列表的形式展现出来,点击你想查看的一个或者多个会话,再点击右边的“Statistics”菜单,你就可以很轻松的查看到请求数、发送字节数等信息。如果你选择第一个请求和最后一个请求,还可以获得页面加载所消耗的总体时间,还可以从图表中分辨出哪些请求耗时最多,从而可以对页面的访问速度进行优化

3)Fiddler中设置断点修改Request(目前没有用到该功能)

Fiddler最强大的功能莫过于设置断点,设置好断点后,你可以修复httpRequest的任何消息包括host,cookie或者表单中的数据。设置断点有两种方法。

第一种:打开fiddler点击Rules->Automatic Breakpoint->Before Requests(这种方法会中断所有的会话)

消除办法:点击Rules->Automatic Breakpoint->Disabled

第二种:在命令行中输入命令:bpu www.taobao.com(这种方法只会中断www.baidu.com)

消除办法:在命令行中输入bpu

5、设置断点修改Response(测试小把手的用到该功能)

当然fiddler中也能修改Response

第一种:打开Fiddler点击Rules->Automatic Breakpoint->After Respinse(这种方法会中断所有的会话)

消除办法:点击Rules->Automatic Breakpoint ->Disabled

第二种:在命令行中输入命令:bpafter www.taobao.com(这种方法会中断www.taobao.com)

消除办法:命令行中输入命令bpafter

修改Response方法:

选择Rules-> Automatic Breakpoint->After Respinse,手机点击操作,发送query。

选中左区的query,点击右边的Raw,修改Raw里面的返回结果,运行“Run to Completion”

这种方法是比较简单的修改Response的方法

优点:

1)  简单易操作,选中后即可修改Response结果

2)  所见即所得,修改后马上可以看到效果

缺点:

1)  只适用于一次请求,下次请求需要重新设定

2)  手动修改需要花费时间,如果程序等待超时,本次设定的Response结果失效

还有一种是自动返回Response结果的方法,即选中query,在右边的按钮中点击AutoResponder,并设定query的规则,规则可以是一个文件,也可以是正则表达式,只要符合该规则,即可自动返回Response结果,Response可以是一个文件,也可以是正则表达式。具体大家可以自己去研究下。

6、设置过滤

可以设置过滤条件,过滤选定的域名,多个域名之间使用分号分隔

参考资料:

http://i.wanz.im/2013/04/30/debugging_http_request_with_fiddler/

http://help.locoy.com/Document/Url/Fiddler.htm

Wireshark

Wireshark是另外一种抓包工具,这种工具比fiddler更强大,消息量更多。大家可能会问:有了fiddler,为什么还要用wireshark呢?这里说下,在测试中,发现用fiddler抓包,有些包是没有抓到的,比如在验证反作弊信息的时候,反作弊pingback信息的消息用fiddler就没抓到,用wireshark就抓到了。还有另外一种情况,就是在验证cna的时候,如果先用fiddler抓包,如果没有种下cna的时候,以后就永远没有cna了,情况很诡异。解决办法就是把包卸载了重新安装,第一次用wireshark抓包。

如何使用wireshark

Wireshark配置起来比fiddler麻烦一些,如果不配代理,需要安装个Connectify来建立热点,然后再安装wireshark进行抓包,如果配置了代理,直接安装wireshark即可。

1.       下载并安装wireshark

下载地址:http://www.pc6.com/softview/SoftView_63986.html

安装wireshark,傻瓜式安装。

2.       使用wireshark进行抓包

打开wireshark,界面选择抓包的接口,如下图(是按照我的电脑操作来展现的,可能每个人电脑上的接口列表不太一样):

点击接口,进入抓包界面,如下图:

Wireshark抓的包信息量很大,需要进行一些过滤操作,才能把有用的信息拿到,红色标注部分输入过滤规则,即可过滤出我们需要的一些信息。

Wireshark的过滤规则,使用的是正则表达式来写的。具体可参考:http://wenku.baidu.com/link?url=lpU_NJguXVsiZ1YMTz13b_ngl2xNE--CFh8xChvc5QjisTFV4VhX65ID4TvX5WuaHLX7hRwMfEgTKylnUAdtaOF3rkVF_JfXoEDxjlTgq7i

举例,如果想过滤域名为“mclick.simba.taobao.com”,可以设置如下过滤表达式

过滤host:http &&http.host==”mclick.simba.taobao.com”

如何使用Connectify

如果需要不使用代理,需要建立热点来用wireshark进行抓包。

建立热点需要用到Connectify。

1.       下载并安装Connectify

下载地址:

http://softdownload.hao123.com/hao123-soft-online-bcs/soft/C/2013-08-27_ConnectifyInstaller.exe

傻瓜式安装

2.       配置Connectify

根据提示:设置网络名称;网络密码等

配置wireshark,选择网卡

3.       手机配置

手机连接到配置的connectify配置的网络上,输入密码,即可把电脑作为热点,手机连接到指定的connectify

来源:http://www.blogbus.com/wanping-logs/238827556.html

fiddler和wireshark工具介绍及对比 - [测试技术知识]相关推荐

  1. ETL常用的三种工具介绍及对比 Datastage,Informatica 和 Kettle

    大家好,我是梦想家 Alex ~ ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步.ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最 ...

  2. ETL常用的三种工具介绍及对比Datastage,Informatica

    ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步.ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为 ...

  3. Android抓包方法之Win7笔记本Wifi热点+WireShark工具

    Android抓包方法 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 第 ...

  4. 计算机网络协议测试技术分析

    摘要:介绍了协议 测试技术以及相关标准进展情况,着重介绍了协议一致性测试和互操作性测试,分析了二者的差异,明确了它们之间的关系.便于进一步理解协议测试技术. 关键词:协议测试:互操作性测试:计算机网 ...

  5. 计算机虚拟仪器技术与测试技术相关的概念,测试技术与虚拟仪器

    测试技术与虚拟仪器 出版时间:2010年版 内容简介 <测试技术与虚拟仪器>介绍了传感与测试系统和基本测试电路,详细讲述了电阻式传感器.电感式传感器.电容式传感器及其他常用传感器工作原理. ...

  6. 抓包工具Fiddler和Wireshark介绍及对比

    在测试中,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具,而且我们手机客户端和server端通讯比较常用的是http方式, ...

  7. 数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 链接:https://www.365jz.com/article/24504 著作权归作者

    数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 转载:https://www.365jz.com/article/24504.

  8. 测试工程师各类工具介绍

    测试工程师各类工具介绍 通用测试框架 用例生成 用例和bug管理 自动化工具 性能测试 代码质量 网络工具 接口测试 测试报告 Mock 信息转自:GitHub 通用测试框架 JUnit: 最著名的x ...

  9. 抓包工具Wireshark基本介绍和学习TCP三次握手

    原文链接:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html#threehand,肖佳 之前写过一篇博客:用 Fiddler ...

最新文章

  1. 空闲数据概念_计算机组成原理复习笔记——基础概念(二)
  2. RunJs使用评测(IE9)
  3. 共享几套silverlight2 toolkit最新的皮肤控件样式下载
  4. rsa加密c语言源码库,RSA加密算法源代码C语言实现.doc-资源下载在线文库www.lddoc.cn...
  5. 安装Vuecli新版本正常,但是显示版本是低版本
  6. android 安全 权限,[原创]Android 中的那些权限
  7. DealComment (注释处理工具)
  8. 日周月筛选器_Excel数据筛选与高级筛选,你会用吗
  9. (原)数据结构之树状数组详解
  10. vue 实现图片预览放大以及缩小
  11. 手机版vmlogin怎么下载?VMlogin指纹浏览器适合哪些行业?
  12. 数据库的增删改查基本操作
  13. FastText在商品分类下的应用(第十届服创大赛全国三等奖)
  14. 【分享】Gitee如何下载单个文件
  15. 计算机桌面定制操作,教程方法;12、设置桌面--电脑基础知识电脑技巧-琪琪词资源网...
  16. 《计算机是怎样跑起来的》学习笔记
  17. while循环中的switch语句
  18. UI设计汪汪Yuki丨云沃客工作经验分享
  19. 小程序 键盘挡住底部输入框解析
  20. 俄17岁少年推出网聊新招

热门文章

  1. Arthas 用户文档
  2. 6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作
  3. 检索数据_8_查询语句里执行条件判断
  4. oracle触发器的测试,ORACLE触发器的测试
  5. 太吾绘卷存档修改2020_太吾绘卷/神级初始存档
  6. pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)
  7. Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVP
  8. Linux驱动编程 step-by-step (一)驱动程序的作用
  9. NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表
  10. malloc与new,free与delete