什么是抓包?
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。当然,我知道你的想做的还有更多……
什么是 Fiddler?
说到抓包的工具,FireBug 可能是程序猿用得最多的插件,而 Wireshark 或许是最强大的……而对于 HTTP 的调试, Fiddler 可能是最适合的。
Fiddler 是一个 HTTP 调试代理,以代理服务器的方式,监听系统的 HTTP 网络数据流动。说白了 Fiddler 就是使用所谓的 man-in-the-middle(中间人)方式“劫持”并分析你的网络数据。
原理如下图:
Fiddler 下载地址
官方下载地址:http://www.telerik.com/download/fiddler
为了防止被墙,小甲鱼帮大家先搬过来……
Win8 以后(Version 4.6.1.5)-> 链接:http://pan.baidu.com/s/1dDsfXc9 密码:55ou
Win8 以前(Version 2.6.1.5)-> 链接:http://pan.baidu.com/s/1dDCyOqX 密码:x9y3
Mac(Version 4.4.5.0)-> 链接:http://pan.baidu.com/s/1qklP0 密码:1zdz
Linux(4.4.8.4)-> 链接:http://pan.baidu.com/s/1pJIQb5D 密码:zti4
注1:这个工具还是在 Windows 用起来比较屌屌的!
注2:Linux 和 Mac 是利用 Mono 框架提供 .NET 的运行环境(需先安装 Mono 框架),因此性能和稳定就不如 Windows 酸爽啦~
安装 Fiddler
Fiddler 的安装很容易,只需要点击“我愿意”,然后听天由命就行了:
第一次打开会提醒你这个:
大概意思就是说 Windows 使用了一种称为“AppContainer”的隔离技术,使得一些流量无法正常的捕获。打开程序后点击工具栏上的 WinConfig 按钮可以解除这个“魔咒”。然后问你是否想要了解更多?点“否(N)”让它闭嘴即可。
为 Fiddler 配置浏览器
1. 清空浏览器缓存
为了确保所有的请求都被发送和捕获,那么请在开工前清空一下浏览器的缓存。
什么???你不知道怎么清空????
好吧,自己百度吧~
很容易的, 搜索“你的浏览器名字 + 清空缓存”即可,比如“Chrome 清空缓存”
2a. 对于 IE,Chrome,Safari 和 Opera 浏览器
无需做预处理, Fiddler 会自动帮你设置好。
其实打开 Fiddler 那一刹那,它就帮你把这些浏览器的代理设置为 127.0.0.1:8888,如下图:
然后关闭 Fiddler 那一刹那,它又会恢复原样……
又是屌屌的~
2b. FireFox 浏览器
默认情况下,FireFox 浏览器是没有启用代理的,你有三种选择:
一、安装 FiddlerHook 插件,依次点击:Tools > Monitor with Fiddler > Use Fiddler automaticall,通过 FiddlerHook 插件设置;
二、手动设置,依次点击:Tools > Options > Advanced > Network > Settings > Use System Proxy Settings
同样将代理设置为:127.0.0.1:8888
三、先在 Fiddler 中依次点击:Tools > Fiddler Options > Connections
对头,点击上图红圈的那个链接:Copy Browser Proxy Configuration URL
然后打开 FireFox 浏览器,依次点击:Tools > Options > Advanced > Network > Settings
在最下边粘贴即可!
解密 HTTPS 的网络数据
你以为用了 HTTPS 就安全了?
年轻人,Too young too simple 啊~~~
Fiddler 仍然可以通过伪造 CA 证书来欺骗浏览器和服务器。大概原理就是在浏览器面前 Fiddler 伪装成一个 HTTPS 服务器,而在真正的 HTTPS 服务器面前 Fiddler 又假装成浏览器,从而实现解密 HTTPS 流量的目的。
解密 HTTPS 需要你手动开启,依次点击:Tools > Fiddler Options > HTTPS
勾选 Decrypt HTTPS Traffic:
点击 OK 按钮。
这时会生成伪造证书,系统基于安全的因素会提醒你是否允许?