主要抓包工具介绍与对比

 

1、Wireshark:通用的抓包工具,抓取信息量庞大,需要过滤才能得到有用的信息,只有HTTP请求有点大材小用

2、Firebug、HttpWatch等web调试工具:不够给力,功能欠缺

3、Charles:各有千秋,MAC上对Charles支持更好

4、Fiddler:概念

1)Fiddler是位于客户端和服务器的Http代理,它能记录所有客户端和服务器的Http和Https请求响应,进行截获、重发、编辑、转存等操作。

2)允许监视,设置断点,甚至修改输入输出的数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。

Fiddler界面概述

主菜单

File:

Capture Traffic:启用或者停止捕获功能,F12;

Edit:

1、Copy:复制Session到剪切板;

2、Remove:移除Session;

3、UNdelete:恢复之前删除的Sessions;

4、Mark:标记所选择的Session;

5、Find Session:查找Session

Rules:

1、Automatic Breakpoints:断点控制;

2、Customize Rules:打开fiddler script文件

3、Require Proxy Authentication:需要代理验证码;

4、User-Agents:支持把User-Agent请求头设置或替换成指定值;

5、Performance:提供影响web性能的简单选项:

  1)Simulate Modem speeds:模拟调制解调器速度;

  2)Disable Caching:禁止缓存

  3)Show Time-to-last-Byte:显示TTLB

Tools:

1、Fiiddler Options:Fiddler选项;

2、WinNET Options:IE浏览器 WinINET选项;

3、Text Encode/Decode:文本编码/解码;

4、Hosts:hosts配置;

View:

AutoScroll Session List:自动滚动Session列表

Help:

快捷菜单栏

Replay:

重新发送选中的请求

Go:

打断点时用

两种监听模式:

选中为Streaming Mode流模式,不选中为Buffering Mode缓冲模式

1、Buffering Mode 缓冲模式:内容全部返回后再发送到客户端;可以响应控制,修改响应数据。但是时序图有时候会出现异常。

2、Streaming Mode 流模式:收到内容立即发送给客户端,更接近真实浏览器的性能。速度快,时序图更准确(比如瀑布图),但是不能控制响应。

如果不需要“AutoResponse 和 Filter”功能的话,一般建议使用Stream模式。

Decode:

默认勾选,如果返回的数据是加密的,就自动解密。

TextWizard:

编码小工具

Keep All Session:

会话列表保留多少会话

Any Process:

让Fiddler只针对某个Process进行Debugging

会话列表

栏目

1、Result:http响应状态

2、Protocol:请求使用的协议

3、Host:请求地址域名

4、URL:请求的服务器路径和文件名,也包括Get参数

5、BODY:请求的大小,以byte为单位

6、Caching:请求的缓存过期时间或缓存控制header等值

7、Content-Type:请求响应的时间

8、Process:发出此请求的Windows进程及进程ID

9、Comments:用户通过脚本或者右键菜单给此session增加的备注

10、Custom:用户可以通过脚本设置的自定义值

图标

1、红色表示错误

2、黄色表示验证请求

3、通讯类型(灰色表示HTTPS链接)

4、响应类型(紫色表示Css,蓝色表示HTML,绿色表示JS脚本,灰色表示图片)

右键菜单

1、Decode Selected Sessions:如果请求使用了GZIP压缩,就解码

2、Replay:

1)Reissue Request:重新请求此地址

请求查看器

1、Headers:请求头信息显示为一个分级视图,包含了Web客户端信息、Cookie、传输状态等。

2、TextView:显示POST请求的body部分为文本。

3、SyntaxView:显示脚本(安装SyntaxView插件)
4、WebForms:

1)以直观的界面显示QueryString的值和Body的值

2)这里的body应该是application/x-www-form-urlen-coded格式

5、HexView:请求内容的16进制显示

6、Auth:显示header中的Proxy-Authorization和Authorization信息

7、Cookies:以直观的界面显示Header中的Cookie的值

8、Raw:将整个请求显示为纯文本

9、Json:通过Json格式显示

10、XML:如果通过请求的body是XML格式,就是分级的XML树来显示它

响应查看器

1、Transformer:响应信息的压缩编码格式

2、Headers:用分级视图显示响应的Header

3、TextView:使用文本显示相应的body

4、SyntaxView:显示脚本(安装SyntaxView插件)

5、ImageView:响应内容如果是图片则显示图片:

1)左侧灰色区域会显示图片的大小、宽高、文件格式等信息

2)在下方还可以选择缩放模式:自动缩放、缩放以适应显示区域大小、无缩放

6、HexView:响应内容的16进制显示

7、Raw:将整个响应显示为纯文本

8、JSON:通过JSON格式显示

9、XML:如果响应的body是XML格式,就是用分级的XML树来显示它

QuickExec命令行

Fiddler主要功能讲解

Fiddler捕获设置

1、fiddler抓网站请求:

1)Tools >>>WinINET Options..

2)Connections:Act as system proxy on startup

2、app抓包配置:

1)Tools>>>Fiddler Options :

(1)HTTPS:Decrypt Https traffic ;from remote clients only

(2)Connections:设置端口8888;Allow remote computers to connect

(3)APP上设置代理:同一WiFi下设置代理

(4)下载证书:http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer

3、捕获HTTPS请求:

1)Tools>>>Fiddler Options >>Https:Decrypt HTTPS traffic;Ignore server certificate errors

2)出现443问题如何解决:检查Fiddler版本;删除证书,重新下载

设置断点修改

1、断点修改Request:

1)全部中断:Rules>>Automatic Breakpoint>>before Requests

取消设置:Rules>>Automatic Breakpoint>>Disabled

2)特定网站中断:

(1)快速命令行设置:bpu www.baidu.com 只会中断该请求

快速命令行取消设置:bpu

3)Inspectors界面:

(1)Break on Response:发出请求,在响应数据回到Fiddler时再次中断

(2)Run to Completino:单条运行修改后的请求

2、断点修改Response:

1)全部中断:Rules>>Automatic Breakpoint>>After Response

取消设置:Rules>>Automatic Breakpoint>>Disabled

2)特定网站中断:

(1)快速命令行设置:bpafter www.baidu.com 只中断该响应

快速命令行取消设置:bpafter

3)Choose Response

3、其他断点相关命令行:

1)bps:特定http状态码时中断,比如200 403

2)bpv/bpm:在特定请求method时中断,比附Get Post

3)g 等于Go

重定向AutoResponse

概念:允许从本地返回文件,代替服务器响应,而不用将文件发布到服务器【可用正式环境验证本地文件】

1、AutoResponse:

1)勾选Enable rules启动

2)Unmatch requests passthrough:未匹配到请求时正常响应

3)Enable Latency:运行请求延迟

2、URL匹配:

1)以EXACT开头表示完全匹配

2)以regex:开头表示用正则表达式来匹配

3)Sting ToMacth

Filters过滤

Use Filters:启用

1、Actions:1)Run Filterset Now;2)Load Filterset;3)Save Filterset

2、Hosts过滤:

1)Zone指定只显示内网(Intranet)或互联网(Internet)的内容;

2)Host指定显示某个域名下的会话;

3)No Host Filter:无Host过滤;

4)Hide the following Hosts:隐藏如下HOST;

5)Show only the following Hosts:只显示如下HOST;

6)Flag the following Hosts:加粗显示如下HOST;

7)输入多个HOST,多个之前用半角逗号或者回车分隔;支持通配符,*.baidu.com

3、Client Process过滤:

客户端进程过滤规则

1)Show only traffic from:你可以指定只捕获哪个windows进程中的请求;

2)Show only Internet Explorer traffic:只显示IE发出的请求;

3)Hide Windows RSS platform traffic:隐藏WindowsRSS平台发出的请求;

4、Request Headers过滤:

请求header过滤规则

1)经常使用:Show only if URL contains;

2)Flag Request with header:标记带有特定header的请求;

3)Delete request header:删除请求header;

4)Set request header:设置请求的header

5、Breakpoints:

断点设置规则

1)Break request on HTTP POST:给所有的POST请求设置断点;

2)Break request on HTTP GET with QueryString:给所有带参数的GET请求设置断点;

3)Break response on Content-Type:给特定的Content-Type设定断点

6、Response Status Code过滤

响应HTTP状态过滤规则

1)Hide success(202,204,206):隐藏响应成功的session(202,204,206)

2)Hide Authentication demands(401):隐藏未经授权被拒绝的session(401)

3)Hide redirects(300,301,302,303,307):隐藏重定向的(300,301,302,303,307)

4)Hide Not Modified(304):隐藏无变更的session(304)

7、Response Type and Size:

响应类型和大小过滤规则

1)Show all Content-Types:显示所有响应类型

2)gnore smaller than ?KB:忽略小于指定大小的session

3)Block script files:阻止脚本文件,显示为404;

4)Block image files:阻止图片文件

5)Time HeatMap:获得计时数据

(1)绿色阴影代表响应时间在50毫秒以内

(2)超过50毫秒但在300毫秒之内的响应条目没有颜色

(3)响应时间在300至500毫秒之间的会涂黄色

(4)超过500毫秒的用红色底纹显示

8、Response Headers:

响应header过滤规则

1)Flag responses that set cookies:标记会设置cookie的响应

2)Flag responses with header:标记带有特定header的响应

3)Delete responses header:删除响应header

4)Set responses header:设置响应的header

9、会话列表:鼠标右键

Fiddler Script

1、使用FiddlerScript前需要安装SyntaxView插件;

2、修改Session的样式;

3、修改http请求和应答

4、修改Url

5、定制菜单:

1)定制rule菜单的子菜单

2)定制tool菜单的子菜单

3)定制右键子菜单

6、模拟慢速网络:

1)Customize Rule修改脚本:上传/下载1KB要delay多久

2)Rules -> Performances -> Simulate Modem Speedds

次要功能

1、替换HTTP Request Host:

1)暂时替代:

(1)替代命令:urlreplace ir.baidu.com www.baidu.com

(2)清除命令:urlreplace,需要同时清除浏览器缓存

2)永久替代:Script脚本实现

2、配置hosts

3、Composer-Request发射器

4、HTTP统计试图

1)选择多个会话,陈列出所有HTTP的通信量;

2)请求总数、请求包大小、响应包大小;

3)请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP、传输时间

4)HTTP状态码统计

5)返回的各种类型数据的大小统计以及饼图展现

5、QuickExec命令行使用:

1)cls

2)select:select image

3)?.png

4)bpu、bpafter、bps、bpv、bpm

5)>size <size

6)=status:=状态码

7)@host:匹配域名

6、Timeline瀑布图:

1)选择多个会话,从条形图表中可以分别出那些请求耗时最多;

2)不同颜色代表不同的元素类型的响应:

(1)浅绿色代表图片

(2)深绿色是javascript

(3)红色是Css

(4)其他为蓝色

3)其他符号:

(1)请求前面的红色圆圈表示这个链接是新建的,绿色表示是复用的

(2)黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻;

(3)向下的箭头表示重定向,302错误

(4)红色感叹号表示有错误发生,状态为4**或5**;

(5)红色的X,说明服务端响应完这个请求后,断开了 链接;

(6)闪电表示这是Fiddler的“AutoResponder”的响应;

(7)软盘图标表示这个响应正文从本地获得,304错误;

7、编码小工具、查询会话、编码解码

第三方插件

1、Syntax-Highlighting:代码高亮插件;

2、JavaScript格式化插件:JS格式化

3、WinDiff:会话比较功能

4、Stave插件:1)目录替换;2)项目配置管理;3)自定义颜色;4)上下行网速限制

5、Willow:

1)可以统计数据包;

2)修改Host;

3)请求重定向

4)编码转换

5)低网速模拟:慢速网络模拟可视化

6)断点调试;

7)过滤HTTP请求;

转载自 土豆拧不成麻花儿   https://blog.csdn.net/weixin_39411616/article/details/78625175?utm_source=blogxgwz3

猜你喜欢

转载自blog.csdn.net/weixin_42139375/article/details/83178654