Fiddler的使用

661 阅读5分钟

1 电脑键盘快捷键控制

fiddler delete:选中某一条请求后按delete就可以删除

shift+delete:选中某些请求后删除未选中的请求 

R:重复发送选中的请求一次 

f12:  这个按键是fiddle开启和关闭的快捷键

shift+R:  跳转窗口,设置可以重复执行选中请求的次数(重放控制) 

ctrl+x:删除所有的请求  

ctrl+F:跳出查找框  

ctrl+A:  选定所有会话

ctrl+0:  取消标记会话


2 fiddler抓包保存会话

在测试的过程中发现一个bug,可以将出现问题的会话发送给开发人员,有利于开发人员分析出现问题的地方。

2.1把会话保存为文本

左上角File>Save>Selected Sessions>as Text

2.2保存所有会话

左上角File>save-All Sessions

2.3保存选中的会话

保存为saz文件:左上角File>Save>Selected Sessions>in ArchiveZIP

保存为txt文件(保存整个会话包括Request和Response):左上角File>Save>Selected Sessions>as Text

保存为txt文件(仅保存头部):左上角File>Save>Selected Sessions>as Text (Headers only)

3 fiddler导入会话

1、直接将saz文件拖进去fiddler

2、选择File>Load Archive导入文件

4 sessions面板基础操作


1、排序

点击#号列的列头,进行倒序排序,也就是最新抓取的会话排在最前面

2、操作列——添加ip列

第一步:运行fiddler,菜单,Rules->Customize Rules

第二步:Ctrl+F查找“static function Main()”字符串,然后添加下面这行代码:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");


第三步:保存CustomRules.js或者点击“Save Script”按钮,重开一下fiddler

ServerIP会自动添加到最后一列



5 快速执行命令

快速执行命令窗口在sessions面板下面


常用的快捷命令:

1、?sometext

当您键入一些字符串,如sometext ,Fiddler将突出会话所在的URL中包含sometext的请求 。此时按Enter键将高亮选中所有匹配的会话

2、>size 、<size

例如:
>40000 //选择大小超过40kb的响应

<5k //选择小于5kb的响应

3、=status、 =method

选择响应状态=status 或请求方法=method的会话

=301 //选择301重定向响应
=POST //选择POST方式的请求

4、@host

选择会话中域名包含host的会话,此时按Enter键可高亮所有匹配的结果

例如:
@baidu.com //选择 www.baidu.com, map.baidu.com, 等等

5、bold

预先设置会话加粗:标记任何URL包含了目标字符串的后续请求
tip:再次输入bold取消设置

例如:

bold /index.php

6、bpafter

设置中断RequestURI中包含指定字符串的任何响应
tip:再次输入bpafter取消设置

例如:

bpafter /favicon.ico

bpafter //取消设置

7、bps

中断与设置的状态代码匹配的响应

例如:

bps 404
bps //取消设置

8、!dns hostname

进行目标域名的DNS查找,并将结果显示在LOG选项卡上

例如:

!dns www.baidu.com
!nslookup www.baidu.com

9、quit

退出Fiddler

10、allbut or keeponly

隐藏Content-Type头中除了包含指定字符串的所有会话,用于筛选

例如:

allbut html

11、select HeaderOrFlag PartialValue

选择已命名的header或SessionFlag包含指定字符串的响应

例如:

select ui-comments slow
select ui-bold * <-- unless preceded by a slash, * 表示任意值
select ui-comments \* <-- Find comments with a *
select @Request.Accept html <-- Find requests with Accept: html
select @Response.Set-Cookie domain <- Find responses that Set-Cookie on a domain

12、select MIME

选择Content- Type头中包含指定字符串的响应,可用于选择文件格式等

例如:

select image

13、show

将Fiddler从系统托盘中恢复,从ExecAction.exe获取更多有用的触发规则

14、stop

取消注册为系统代理

15、start

注册成为系统代理

16、urlreplace

以一个不同的字符串替换URL中任何字符串。设置此命令将清除该命令的任何以前的值,不带参数调用它,将取消更换

例如:

urlreplace SeekStr ReplaceWithStr
urlreplace //取消设置

17、hide

隐藏Fiddler界面,系统后台运行

18、help

打开帮助页面(即本文英文版)

19、g or go

恢复所有设置断点的会话

20、dump

打包所有会话成zip归档文件并转存在C:\

21、cls or clear

清空会话列表

22、bpu

对包含指定字符串的URI创建请求断点。设置此命令将清除该命令的任何以前的值,不带参数调用它会禁用断点

例如:

bpu /index.php
bpu //取消设置

23、bpv or bpm

对指定的HTTP方法创建请求断点。设置此命令将清除该命令的任何以前的值,不带参数调用它会禁用断点

例如:

bpv POST
bpv //取消设置

24、bpafter

设置中断RequestURI中包含指定字符串的任何响应
tip:再次输入bpafter取消设置

例如:

bpafter /favicon.ico
bpafter //取消设置

6 HTTP状态码

6.1常见的HTTP状态码

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

6.2HTTP状态码分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

HTTP状态码分类
分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

更多状态码描述可以看菜鸟教程