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则需要:
点击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";
}