主要抓包工具介绍与对比
- (一)Fiddler介绍
- (二)Fiddler与其他工具对比
- (三)工作原理
- (四)下载安装
- (五)Fiddler界面概述
- 1 主菜单说明
- 2. 快捷菜单说明
- 3.会话列表说明
- 4. 右侧选项卡
- 1)Statistics 请求的性能数据分析
- 2) Inspectors 查看数据内容
- 3)AutoResponder 重新定向,允许拦截指定规则的请求
- 4)Composer 自定义请求发送服务器
- 5)Fiters 请求过滤规则
- 6)Timeline 请求响应时间
- (六)pc端浏览器、window软件、手机移动端进行抓包
- 1)打开Fiddler,进行主要配置
- 2)配置 Window客户端
- 3)配置手机移动端抓包
(一)Fiddler介绍
Fiddler 是位于客户端和服务器的HTTP代理,它能记录所有客户端和服务器的HTTP和HTTPS请求响应,进行截获、重发、编辑、转存等操作;
Fiddler 允许监视、设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
(二)Fiddler与其他工具对比
1、Wireshark :通用抓包工具,抓取信息量庞大,需要过滤才能得到有用信息,只抓HTTP请求有点大财小用。
2、Firebug、HttpWatch等Web调试工具,不够给力,功能欠缺。
3、Charles:建议MAC上使用。
4、Fiddler:是一个HTTP协议调试代理工具;
(三)工作原理
抓包其中涉及三个角色: 客户端 、 代理、 目标服务器。
Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。Fiddler在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。
正常访问网页或App路径是: 客户端 —> 目标服务器
抓包,其实就加入了一个代理,相当于古代的 媒人 ,客户端 —> 媒人(代理)–>目标服务器
三者如何产生联系呢?
(四)下载安装
https://www.telerik.com/download/fiddler
toast:下载Fiddler要翻墙
(五)Fiddler界面概述
1 主菜单说明
2. 快捷菜单说明
3.会话列表说明
名称 | 含义 |
---|---|
# | 抓取HTTP Request的顺序,从1开始,以此递增 |
Result | HTTP状态码 |
Protocol | 请求使用的协议,如HTTP/HTTPS/FTP等 |
Host | 请求地址的主机名 |
URL | 请求资源的位置 |
Body | 该请求的大小 |
Caching | 请求的缓存过期时间或者缓存控制值 |
Content-Type | 请求响应的类型 |
Process | 发送此请求的进程:进程ID |
Comments | 允许用户为此回话添加备注 |
Custom | 允许用户设置自定义值 |
4. 右侧选项卡
1)Statistics 请求的性能数据分析
2) Inspectors 查看数据内容
Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容
名称 | 含义 |
---|---|
Headers | 请求头信息显示为一个分级视图,包含了web客户端信息、Cookie、传输状态等 |
Textview | 显示 POST 请求的 body 部分为文本 |
WebForms | 显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式 |
HexView | 用十六进制数据显示请求 |
Auth | 显示 header 中的 Proxy-Authorization 和 Authorization 信息 |
WebView | 用来显示网页 |
Auth | 用来认证,一般登录账户密码才会有这个消息 |
Cookies | Cookies指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)Cookie 会帮你在网站上所打的文字或是一些选择,都记录下来(类似一些推送,会根据你的浏览记录,给你推送一些计算机认为你需要的东西,所以会存在个人隐私泄露和安全等问题) |
Raw | 将整个请求显示为纯文本,请求的完整信息,这里可以看到请求的方法、地址、路径、协议版本、头信息和参数等 |
JSON | JOSN格式显示 |
XML | 如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它 |
eg:
3)AutoResponder 重新定向,允许拦截指定规则的请求
允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应
4)Composer 自定义请求发送服务器
允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求
Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
5)Fiters 请求过滤规则
Fiters 是过滤请求用的,左边的窗口不断的更新各种请求数据,通过过滤规则来过滤掉那些不想看到的请求。
1 )勾选左上角的Use Filters开启过滤器
两个最常用的过滤条件:Zone和Host
Zone 指定只显示内网(Intranet)或互联网(Internet)的内容
Host 指定显示某个域名下的会话
设置完之后,点击actions–>Run Filterset now就可以过滤出某个域名下的会话
6)Timeline 请求响应时间
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间
(六)pc端浏览器、window软件、手机移动端进行抓包
1)打开Fiddler,进行主要配置
找到 Tools —> Options, 主要配置 HTTPS,Connections 信息
toast:主要配置勾选好之后,点击确认,第一次配置会出现安装证书的请求,一路点击 是就对了, 配置完毕一定要记得重启Fiddler,否则失效
Connections 配置,主要是 让手机 或电脑 链接 Fiddler(媒人),默认端口号为:8888
3)重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP
2)配置 Window客户端
不择手段让 客户端 链接媒人,和媒人产生联系。
客户端已经和 Fiddler(媒人)产生一定联系了,已经可以抓取 windows软件 和 IE 了,windows微信中 的小程序也可以抓取。
谷歌 和 火狐浏览器的,他们的代理不像IE自动,需要手动配置他们的代理,这里 我以 谷歌为例。
第一种方式:寻到谷歌 代理配置路径(路径自己百度),配置:127.0.0.1:8888
第二种方式:以上是简单做法,这种需要 翻墙 下载扩展程序(Proxy SwitchyOmega) ,进行配置
3)配置手机移动端抓包
1)手机端与PC电脑必须处于同一个网络,可以选择连接同一个wifi,或者手机连接PC的wifi
2)手机打开设置,wifi网络代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888)
eg:
3) 访问网页输入代理IP和端口,下载Fiddler的证书,点击下图FiddlerRoot certificate
4) 如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(Fiddler 设置解密HTTPS的网络数据)
ios:
安装证书:设置–>通用–>描述文件与设备管理–>点击需要安装的证书进行安装
信任证书:设置–>通用–>关于本机–>证书信任设置–>开启需要信任的证书
5)手机安装完了证书,PC浏览器安装一个二维码插件,访问H5页面,例如https://baidu.com/,手机扫码打开即可。可以用手机访问应用,就可以看到截取到的数据包了。
chrome商店
chrome 二维码插件