2017拉

fiddler和wireshark工具介绍及对比

上一篇 / 下一篇  2015-04-24 18:42:06 / 个人分类:计算机基础

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/wanping-logs/238827556.html51Testing软件测试网(bjh jL9[`

测试中,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具,而且我们手机客户端和server端通讯比较常用的是http方式,所以针对其通讯特点,常用的抓包工具有FiddlerWireshark这两种,下面分别介绍下两个抓包工具的用法。51Testing软件测试网/G@:}:US k'y,Q7i+c

Fiddler

官网:http://fiddler2.com/51Testing软件测试网(E$^2d,cU;pt0Ng-lnO

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

@(k v0P:A[ P@0

 测试手机应用,首先要明白他的消息的交互51Testing软件测试网:Ttpw B[I

A.手机客户端发请求给server51Testing软件测试网L g BFR j|

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

,o-t&]0\ Br0

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

6X%B5k-r1k bz0

如何使用Fiddler

1.     下载安装Fiddler并安装

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

B5g7a-vb0
2.     配置Fiddler

Tools->Fiddler Options

e:iA^$q,p0

选择Connections

D)~-u:W;} |0

 使用fiddler捕获https会话51Testing软件测试网.t{;X{/a zwW

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

 51Testing软件测试网1cK)|-r Z

Capture HTTPS CONNECTs:捕获https连接

e-p3Q{ T0

Decrypt HTTPS traffic:解密HTTPS通信

U|8d&?UB0u G+O0

Ignore servercertificate errors:忽略服务器证书错误51Testing软件测试网uA,z |z'W

3.     手机设置代理

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

0C@/Jcux;z0

具体设置方法:略51Testing软件测试网Se sX^6C#C-C

4.     收集消息

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

4|0b4ZN-zWH0

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

:b+dsa5g'M3F(H0

1fiddler的基本界面51Testing软件测试网T~m'PDO-E(K^

首先介绍下fiddler基本界面。51Testing软件测试网@&Oc2Tl;Y#l

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

9Y:ebt&ow0

 51Testing软件测试网G:E @I0MY{\3` s

2filterhttp统计

Sx+@?$@1q_.b dpZ0

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

 51Testing软件测试网/`6xSe4o4L

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

*]!F![q8\|"dC,a m0

Fiddler最强大的功能莫过于设置断点,设置好断点后,你可以修复httpRequest的任何消息包括hostcookie或者表单中的数据。设置断点有两种方法。51Testing软件测试网:k.A j!DE$U4af(P w I

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

!I/Wz]7`x;PHJ D0

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

Bw$b+P"\3zI+r0

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

RC6Eg Y/Q#m[,Q0

消除办法:在命令行中输入bpu51Testing软件测试网0c$jhM9rw

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

当然fiddler中也能修改Response51Testing软件测试网rJ*@vw

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

%A nfR.Q vH0

消除办法:点击Rules->Automatic Breakpoint ->Disabled51Testing软件测试网#KsT OVMv!~ O8o

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

-Dd"BT"Q8KQv p }0

消除办法:命令行中输入命令bpafter51Testing软件测试网sFtOR$P Rq

修改Response方法:

V/c(j/KK;ul2a4xm0

选择Rules-> Automatic Breakpoint->After Respinse,手机点击操作,发送query51Testing软件测试网BEo d ~`

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

9Q ?_0j Y,LU0

 

"h y,x!D o0rd*]0

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

9oQDZ@8@ f2q x7o0

优点:51Testing软件测试网tz]/W Gb'ystV

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

f;n-Rn5}I\0

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

-^%o&~/p0~0

缺点:51Testing软件测试网wI[8x }0J9e

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

Ww+~5lF@Wk0

2)  手动修改需要花费时间,如果程序等待超时,本次设定的Response结果失效51Testing软件测试网&~-}!d/F6X1R,xLM!Y

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

~!B7ocH n4vx8E0

 51Testing软件测试网|5G0^&TxB/U

6、设置过滤

可以设置过滤条件,过滤选定的域名,多个域名之间使用分号分隔51Testing软件测试网,S `A2V1bA

 51Testing软件测试网4k/}X%w"T'jpeP

 51Testing软件测试网wz V VnR2Q![k?.b

参考资料:51Testing软件测试网5n}J m ~eA

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

VuL]'@dn:C8^X/F0

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

m;q,dg!W\;d0

 

!x&Z%IK^O$h&\_/l0

Wireshark

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

如何使用wireshark

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

^1se%[ A$g-X0

1.       下载并安装wireshark

;j8@8yC A(fL0

下载地址:http://www.pc6.com/softview/SoftView_63986.html51Testing软件测试网+y5pvkT"]_ c)b

安装wireshark,傻瓜式安装。

n!ayVNp%r;m!V0

2.       使用wireshark进行抓包

m5E*vaM&a0

打开wireshark,界面选择抓包的接口,如下图(是按照我的电脑操作来展现的,可能每个人电脑上的接口列表不太一样):51Testing软件测试网'jEy*so1lZ(I

 51Testing软件测试网[z-x$lW&D8pZ:J

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

;uY U*?C7j8m1F'O1N0

 51Testing软件测试网 f)@ o/E)Q3s*OC'XJV2W

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

KMaWf is0

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

:_-a(H9Iks{uA,e0

举例,如果想过滤域名为“mclick.simba.taobao.com”,可以设置如下过滤表达式51Testing软件测试网{)T?WQ6@b

过滤hosthttp &&http.host==”mclick.simba.taobao.com”51Testing软件测试网$Wm h8UJ'Sp

如何使用Connectify

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

p!a8?&z^@l0w0

建立热点需要用到Connectify51Testing软件测试网Nw9dknr$e

1.       下载并安装Connectify51Testing软件测试网!X`}IF0Y;ri

下载地址:51Testing软件测试网0OgW SS%Ma

http://softdownload.hao123.com/hao123-soft-online-bcs/soft/C/2013-08-27_ConnectifyInstaller.exe51Testing软件测试网Bfq-|K/E2d#T

傻瓜式安装51Testing软件测试网/w9C,_ C\2f.f'q?

2.       配置Connectify

a L(G0n#z ~^9H0

根据提示:设置网络名称;网络密码等51Testing软件测试网k Z8I1f4?9N

配置wireshark,选择网卡

5a'?:f+s^ I+K T0

3.       手机配置51Testing软件测试网T!sc?z$[

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

h}ez$Bm0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar