Fiddler安装及汉化教程
一、下载安装
1.下载
官网链接:https://www.telerik.com/download/fiddler
左侧填写用途,邮箱及城市,然后下载就可以
左侧下载即Download For Windows:Fiddler Classic(经典版),这个版本是免费的,不过只能在Windows上使用,但作为抓包工具完全够用
右侧下载: Fiddler Everywhere可以在所有平台使用,并且相当于Fiddler Classic+postman,但是是收费的。
2.安装
双击 FiddlerSetup.exe 文件进行安装,自定义路径,自动跳转该页面代表安装成功
或者在安装路径下,双击Fiddler.exe,能打开也代表安装成功
温馨提示:该软件不会创建快捷方式,需自己创建(。・ω・。)ノ♡
二、汉化教程
1.下载链接(任选其一)
夸克连接:Fiddler菜单汉化
百度网盘链接:https://pan.baidu.com/s/1CbN41sLjr5RRRL5OYX2fFQ?pwd=frid
2.汉化完整过程
- 安装Fiddler英文原版(已安装的,不需再次安装)
- 比如,我将Fiddler安装在:D:\software\Fiddler
- 将【fiddler汉化】文件夹中的FiddlerTexts.txt复制到D:\software\Fiddler\
- 将【fiddler汉化】文件夹中的FdToChinese.dll复制到D:\software\Fiddler\Scripts\
- 重启Fiddler,菜单栏常用功能菜单已经被汉化了。需切换为英文则将上面两个文件移除即可。
- 打开【fiddler汉化】文件夹中的FiddlerTexts.txt文件,可以看到以&格式命名的,就是汉化前的选择项。有兴趣的小伙伴可以尝试一下其他未汉化的部分。
汉化文章来源:fiddler菜单汉化
三、抓包
1.基础操作
1.1 抓取请求
-
界面左侧Web Sessions会话列表中的是HTTP数据包。(1)
-
界面右侧Inspectors用于查看会话的内容,上边是Request请求信息,下边是Response响应信息。(2)
-
左下角空白处点击变成Capturing会开始抓包 (3) (4)
- ALL Processes抓取所有包
- Web Browsers只抓取PC中浏览器的包
- Non-Browser抓取非浏览器的包
- Hide All隐藏所有代理
- 代理手机时,Capturing无论是否点击,都会自动抓包,抓取想要的包后,可点此隐藏其他抓包
-
字段说明
*名称 含义 # 抓取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 或者服务端终止
1.2 删除全部请求
- 方法1:点击工具栏中的×,删除请求。
- 方法2:session列表下的黑框QuickExec中输入cls或clear删除请求。
- 快捷键Ctrl+x
1.3 过滤请求
本人不是太理解这部分,使用中需自己摸索
- 点击右侧选项卡中的Filters
- 勾选User Filters
- Host Filter选择Show only the following Hosts
- 在下方框中填入想要过滤查看的主机地址,以";"分隔。
- 点击Actions,选择Run filterset now
1.4 抓取HTTPS ★★★★★
(重要部分,都标星了,你不看不怨我)
Fiddler 软件默认只抓取HTTP协议的网页,想抓取HTTPS则需要:
-
打开Tools--Options--HTTPS选项卡
-
勾选Capture HTTPS CONNECTs
-
勾选Decrypt HTTPS traffic
-
勾选Ignore server certificate errors(unsafe)忽略证书(如果不安装fiddler证书就如此)
点击OK保存。
弹出对话框"SCARY TEXT AHEAD:Read Carefully!",点击YES。
弹出对话框"安全警告",询问是否安装证书,点击是。
弹出对话框"Add certificate to the Machine Root List?",点击YES。
弹出对话框"TrustCert Success",点击确定。
再点击一下options中的ok,以防忘记保存配置。
-
Decrypt HTTPS traffic中的选项说明:
from all processes :
抓取所有的 https 程序, 包括电脑程序和手机APP。
from browsers only :
只抓取浏览器中的https请求。
from non-browsers only :
只抓取除了浏览器之外的所有https请求。
from remote clients only:
只抓取远程的客户端的https请求,就是只抓取手机APP上的https请求。
-
注意事项:
如果HTTPS请求出问题,例如,浏览器提示"您的链接不是私密链接"等,一般都是证书安装有问题,重新安装一遍证书,重复一遍HTTPS配置即可。
Options------HTTPS------Actions------Trust Root Certificate。
2.移动端抓包
- 手机与电脑必须在同一个局域网:
1.手机和电脑连同一个WiFi
2.手机连WiFi,电脑用网线连接开启这个WiFi的无线路由
3.电脑开热点,手机连热点 - 查看你的本机IP地址,在Fiddler的右上角有一个Online按钮,点击一下会显示你的IP信息
- 配置连接信息:Tools > Options >Connections
- 端口默认是8888,你可以进行修改。
- 勾选Allow remote computers to connect选项,然后重启Fiddler,再次打开时会弹出一个信息,选择ok即可。
- 在移动端连接wifi,长按选择修改网络,输入密码后往下拖动,然后勾选显示高级选项,然后在代理一栏选择手动,再将你先前查看的IP地址和端口号输入进去,然后保存。
- 最后安装手机证书,在手机浏览器一栏输入电脑的IP地址和端口号
这里我是192.168.1.157:8888
进入一个网页,点击最下面那个FiddlerRoot certificate下载证书,下载成功后在设置里面安装- 安装步骤:打开高级设置->安全->从SD卡安装证书->找到证书文件->点击后为证书命名点击确定即可安装成功
- (安装方式不同设备会有区别,可以自己试探或者上网找教程,如果不能安装显示不能读取证书可以试试去设置里搜索CA证书,验证密码后安装)
3.Fiddler内置命令与断点
FIddler断点功能就是将请求截获下来,但是不发送,此时可以做一些更改操作。
-
QuickExec命令
命令 对应请求项 介绍 示例 ? All 问号后边跟一个字符串,可以匹配出包含这个字符串的请求 ?google > Body 大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求 >1000 < Body 小于号跟大于号相反,匹配出请求大小,小于这个数字的请求 <100 = Result 等于号后面跟数字,可以匹配HTTP返回码 =200 @ Host @后面跟Host,可以匹配域名 @www.baidu.com selec Content-Type select后面跟响应类型,可以匹配到相关的类型 select image cls All 清空当前所有请求 cls dump All 将所有请求打包成saz压缩包,保存到"我的文档\Fiddler2\Captures"目录下 dump start All 开始监听请求 start stop All 停止监听请求 stop -
断点命令
bpafter All bpafter后边跟一个字符串,表示中断所有包含该字符串的请求 bpafter baidu(输入bpafter解除断点) bpu All 跟bpafter差不多,只不过这个是收到请求了,中断响应 bpu baidu(输入bpu解除断点) bps Result 后面跟状态吗,表示中断所有是这个状态码的请求 bps 200(输入bps解除断点) bpv / bpm HTTP方法 只中断HTTP方法的命令,HTTP方法如POST、GET bpv get(输入bpv解除断点) g / go All 放行所有中断下来的请求 g
四、问题解决
1.Fiddler启动后Chrome浏览器无法浏览网页?
打开Tools--Options--HTTPS选项卡;
点击Actions下拉选择Trust Root Certificate,弹框选yes,弹框选是(到这一步可能就解决了);
点击Actions下拉选择Export Root Certificate to Desktop,将fiddler证书导出到桌面;
打开谷歌浏览器,设置--高级--安全--管理证书;
导入证书
重启浏览器与fiddler。
2.如何屏蔽抓取特定端口?
在Fiddler中使用它,用Ctrl+R打开自定义规则,然后添加到OnBeforeRequest。
if (oSession.host=="localhost:9090"){
oSession["ui-hide"] = "true";
}