0%

fiddler抓包工具

fiddler
Fiddler是一个通过代理的方式进行抓包工具,它能记录所有客户端和服务器的httphttps请求,允许你监视,设置断点,甚至修改输入输出数据,它运行时会在本地建立一个代理服务,可以将网络传输发送与接受的数据包进行截获重发编辑转存等操作,也可以用来检测网络安全

下载

window系统安装Fiddler(下面以window为例)

下载地址: https://www.telerik.com/download/fiddler (需要梯子)

网盘下载: https://pan.baidu.com/s/1AQ1IBhNxg8xywiTR2ow68Q 提取码: k2jm (下载到本地的)

注意:win8之前用Fiidler for .NET2,win8之后用Fiddler for .NET4比较好

Mac系统安装Charles

跟window差别不是很大,这里不细说了,可以参考Charles使用教程

Fiddler简介

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了

Fiddler设置

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

开启Capture Traffic后,Fiddler就开始工作了,抓取到的数据包就会显示在列表里面了

抓包展示

标题表示的含义

名称 含义
# 抓取HTTP Request的顺序,从1开始,以此递增
Result HTTP状态码
Protocol 请求使用的协议,如HTTP/HTTPS/FTP等
Host 请求地址的主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值

图标表示的含义

图标 含义
图标 请求已经发往服务器
图标 已从服务器下载响应结果
图标 请求从断点处暂停
图标 响应从断点处暂停
图标 请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
图标 请求使用 HTTP 的 POST 方法
图标 请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
图标 响应是 HTML 格式
图标 响应是一张图片
图标 响应是脚本格式
图标 响应是 CSS 格式
图标 响应是 XML 格式
图标 响应是 JSON 格式
图标 响应是一个音频文件
图标 响应是一个视频文件
图标 响应是一个 SilverLight
图标 响应是一个 FLASH
图标 响应是一个字体
图标 普通响应成功
图标 响应是 HTTP/300、301、302、303 或 307 重定向
图标 响应是 HTTP/304(无变更):使用缓存文件
图标 响应需要客户端证书验证
图标 服务端错误
图标 会话被客户端、Fiddler 或者服务端终止

Statistics 请求的性能数据分析

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了
图标

Inspectors 查看数据内容

Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容
图标

AutoResponder 允许拦截指定规则的请求

AutoResponder允许你拦截指定规则的请求,并返回本地资源Fiddler资源,从而代替服务器响应
看下图5步,我将baidu这个关键字与我电脑F:\blog\source\_posts\fiddler\fiddler.jpg这张图片绑定了,点击Save保存后勾选Enable rules,再访问baidu,就会被劫持。
图标

设置好匹配规则后,现在去请求,返回之前设置的访问图片的地址

图标

Composer 自定义请求发送服务器

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求
Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
图标

Filters 请求过滤规则

Fiters是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。
图标
勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:ZoneHost

  • Zone 指定只显示内网(Intranet)互联网(Internet)的内容
    图标
  • Host 指定显示某个域名下的会话:
    图标

Timeline 请求响应时间

在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间:
图标

Fiddler设置解密HTTPS的网络数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler伪装成浏览器,从而实现解密HTTPS数据包的目的。
解密HTTPS需要手动开启步骤:Tools –> Options –> HTTPS

图标
点击Tools -> 选择Options-> 选择HTTPS -> 勾选Decrypt HTTPS TrafficIgnore servercertificate errors(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行)

图标

点击OK

图标

Fiddler 抓取Iphone / Android数据包

Fiddler抓取移动端设备的数据包,其实很简单,先来说说移动设备怎么去访问网络,看了下面这张图:

图标
想要抓取手机访问的数据,让手机和电脑在同一个局域网络下,打开Fiddler工具,点击菜单栏中的 Tools –> Options -> 选择Connections -> 设置代理端口是8888 -> 勾选Allow remote computers to connect -> 点击OK
图标

一定要重新启动fiddler,这时在 Fiddler 可以看到自己本机无线网卡的IP了(要是没有的话可以在cmd终端中ipconfig找到自己的网卡IP)
图标

在手机端连接和PC相同的wifi,并且设置代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888)
图标

访问网页输入代理IP端口,点击FiddlerRoot certificate,下载Fiddler的证书,注意:苹果手机用safari打开
图标

安装证书

图标

安装完证书,用手机访问应用,就可以看到截取到的数据包了

--------- 本文结束感谢您的阅读 ---------
分享