Fiddler简介与使用

1.抓包

1.1抓包的定义

    抓包即是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。

1.2抓包有什么用

(1)抓包可以用来修改各种数据并发送到服务器,比如某些外挂的原理

(2)模拟手动请求,并配合一些编程语言,比如python/CPP/易语言等等写出一个自动化测试的小程序

(3)获取APP、网站的API,并加以利用,如一些数据爬虫

(4)获取客户端中的网络数据包,比如QQ闪照的原图链接,以及QQ坦白说的破解

1.3工具

Windows系统:wireshark,Fiddler,Charles,httpwatch,firebug

Android系统:Packet Picture

1.4抓包对象

抓取网页数据包,需要用到浏览器

2.Fiddler

2.1Fiddler原理

       Fiddler是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。

   

    Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口默认:8888,我们也可以通过设置进行修改。Fiddler一打开就可以当做系统的代理,甚至修改系统的代理(Fiddler一打开,chrome/ie浏览器就会自动勾选代理服务器,给fiddler监听);当Fiddler退出的时候它会自动注销(浏览器恢复默认模式),这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

例如:打开fiddler后,chrome浏览器的系统代理可以这样查看:三点(工具)——设置——高级——系统——打开代理设置——局域网设置(fiddler打开后,此处已经被勾选,fiddler关闭后此处不会被勾选)——点击“高级”(可以看到ip和端口)

2.2Fiddler能做什么

1、能够监听http/https的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求; 

2、对截获之后的请求,我们还能够查看请求中的内容; 

3、伪造数据请求,调试数据接口。不仅可以伪造客户端的请求,还能够伪造服务器的响应。——该功能能够方便我们进行前后端的调式。  

4、测试网站的性能; 

5、解密https的外部会话。因为https本身是一种加密的协议,通过fiddle我们可以进行解密操作; 

6、提供第三方扩展插件,满足更多需求

2.3Fiddler用户界面

- 主菜单栏

  • Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。

image

- 工具栏

  • 气泡:备注。添加之后在会话栏的Comment列中显示备注内容
  • Replay:回放【常用】。重播一个会话。快捷键”选中会话+R”
  • ×:清除会话面板,过滤请求、清除请求
  • Go:断点调式。配合状态栏上的断点工具。功能类似Debug
  • Stream:代理模式。默认:缓冲模式。点击进行切换
  • Decode:解码。解析http请求里面的东西,帮助查看
  • Keep:指示fiddler的保持会话数目
  • Any Process:捕获请求,只看需要的请求。将“靶心”投向需要的请求
  • Find:查找请求。用颜色标注查找的请求

  • Save:保存会话
  • 截图:默认5秒后截图
  • 计时器:第一次点击-开始计时;第二次点击–返回计时结果;第三次点击-清零,重新计时。右键点击-不计时
  • Browse:启动浏览器
  • Clear Cache:清空缓存
  • TextWizard:【常用】编码、解码文本内容,这个工具可以Encode和Decode string
  • Tearoff:浮窗

  • Statistics:数据统计面板。性能数据分析
  • Inspectors :对抓到的请求进行解包,查看具体内容
  • AutoResponder:自动响应器,文件代理【常用】。例如,将一个需要服务端返回的文件,使用本地文件做代理
  • Composer:前后端接口连调,伪造请求【常用】。实现不写任何js代码的情况下实现与服务端的接口调式
  • FiddlerScript:可以写脚本
  • log:日志
  • Filters:过滤器,可以过滤主机站点、客户端进程、请求头、状态码
  • Timeline: 性能分析。提供加载时间瀑布图,对选择多个请求有意义。作用类似HttpWatch。在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

image

- Web Session列表

  • Result:状态码
  • Protocol:请求使用的协议类型
  • Host:请求地址的主机名
  • URL:请求的具体是哪一个资源
  • Body:请求内容的大小
  • Caching:请求的缓存过期时间或者缓存控制值
  • Cintent-Type:请求响应的类型
  • Process:发送此请求的进程
  • Comments:允许用户为此回话添加备注
  • Custom:允许用户设置自定义值

  用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示。

- QuickExec命令行

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。 常见得命令有

  • help 打开官方的使用页面介绍,所有的命令都会列出来
  • cls 清屏 (Ctrl+x 也可以清屏)
  • select 选择会话的命令
  • ?.png 用来选择png后缀的图片
  • bpu 截获request

fiddler常用命令:

1. 选择类:?text、>size、<size、=status、@host、

2. blod text、select、allbut、keeponly

3. 断点类:bpafter、bps、bpv、bpm、bpu

4. 控制类:hide、start、stop、show、quit

5. 其他:cls/clear、dump、g/go、help、urlreplace

3.Fiddler如何监听特定网站

fiddler过滤器中进行设置,即可只抓取我们设置的站点的请求,如下所示:

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

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

4.Fiddler如何捕获HTTPS会话

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

操作方法:Tools –> Fiddler Options –>  HTTPS –>勾选Decrypt HTTPS Traffic –>点击“OK”

5.Fiddler如何模拟慢速网络

模拟慢速网络,Rules - Performance - Simulate Modem Speeds(模拟调制解调器的速度)

6.FiddlerScript

在里面我们就可以编写脚本了, 看个实例 让所有cnblogs的会话都显示红色。

把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save script"

if (oSession.HostnameIs("www.cnblogs.com")) {
        oSession["ui-color"] = "red";

}

这样所有的cnblogs的会话都会显示红色

7.设置断点

 (1)设置断点修改Request

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

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

如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled

第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com) 如何消除命令呢? 在命令行中输入命令 bpu

实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录。

1. 用IE 打开博客园的登录界面 http://passport.cnblogs.com/login.aspx

2. 打开Fiddler, 在命令行中输入bpu http://passport.cnblogs.com/login.aspx

3. 输入错误的用户名和密码 点击登录

4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。

5. 结果是正确地登录了博客园

(2)设置断点修改Response

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

如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled

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

如何消除命令呢? 在命令行中输入命令 bpafter

8.AutoResponder

 Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。

实例:将百度映射到本地图片

①勾选

②Add Rule,如图所示:

③设置完成后,此时再访问百度如图 显示的是本地图片

9.Fiddler 如何捕获Firefox的会话

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

Firefox 上通过如下步骤设置代理 点击: Tools -> Options, 在Options 对话框上点击Advanced tab - > network tab -> setting.

修改Firefox 中的代理比较麻烦, 不用fiddler的时候还要去掉代理。

Firefox 中安装Fiddler插件

推荐你在firefox中使用fiddler hook 插件, 这样可以非常方便地使用Fiddler获取firefox中的request 和response。当你安装fiddler后, 就已经装好了Fiddler hook插件, 你需要到firefox中去启用这个插件 打开firefox tools->Add ons -> Extensions 启动 FiddlerHook

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值