fiddler配置及使用教程
一、fiddler抓包原理
注意:Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
二、fiddler的基本介绍
一)菜单栏功能介绍:
1. File菜单
File菜单中的命令主要支持完成通过Fiddler来启动和停止web流量的捕获(capture),也可以加载或存储捕获的流量。
File--->Capture Traffic启用或停止捕获;
File--->New Viewer 新窗口;
File--->Load Archive 存档;
File--->Recent Archive 最近文档;
File--->Save保存;
Save--->All Session... 全部会话;
Save--->Selected Session 选择了的会话;
Save--->Request 请求;
Save--->Response 响应;
File--->Import Sessions导入会话;
File--->Export Sessions导出会话;
File--->Exit退出;
2.Edit菜单
Edit菜单中的绝大多数命令都需要作用于Web Session中当前选中的Session,因此除非选中一个或多个Session,否则大多数命令都不可用。
Edit--->Copy拷贝;
Copy--->Session拷贝整个Session;
Copy--->Just Url将选中session的url拷贝到剪贴板;
Copy--->Headers Only拷贝头信息,包括请求和返回的头信息;
Copy--->Full Summary将session列表显示的信息及表头复制到剪贴板,通过tab分割。便于在Excel或其他编辑器中查看编辑;
Edit--->Remove移除;
Remove--->Selected Sessions选择会话;
Remove--->Unselected Sessions反选会话;
Remove--->All Sessions全部会话;
Edit--->Select All选择全部;
Edit--->Undelete恢复之前删除的会话;
Edit--->Paste as Sessions作为会话粘贴文件;
Edit--->Mark标记所选的会话;
Mark--->Strikeout失败;
Mark--->Red红色;
Mark--->Blue蓝色;
Mark--->Gold金色;
Mark--->Green绿色;
Mark--->Orange橙色;
Mark--->Purple紫色;
Mark--->Unmark未标记;
Edit--->Unlock for Editing调为可编辑
Edit--->Find Sessions查找会话
3.Rules菜单
Rules--->Hide Image Requests隐藏图片请求;
Rules--->Hide HTTPS CONNECTs隐藏HTTPS连接;
Rules--->Automatic Breakpoints断点控制;
Automatic Breakpoints--->Before Requests请求之前;
Automatic Breakpoints--->After Responses 响应之后;
Automatic Breakpoints--->Disabled禁用;
Automatic Breakpoints--->Ignore Images忽略图片;
Rules--->Customize Rules打开Fiddler ScriptEditor;
Rules--->Require Proxy Authentication密码代理验证;
Rules--->Apply GZIP Encoding采用GZIP编码;
Rules--->Remove All Encodings删除全部编码;
Rules--->Hide 304s隐藏304会话;
Rules--->Request Japanese Content要求日语内容;
Rules--->User-Agents支持把User-Agents请求头设置或替换成指定值;
Rules--->Performance提供影响web性能的简单选项;
Performance--->Simulate Modem speeds模拟调制解调器速度;
Performance--->Disable Caching禁止缓存
Performance--->Cache Always Fresh新的缓存
- Tools菜单
Tools--->Options选项;
Tools--->WinINET Options WinINET选项;
Tools--->Clear WinINET Cache-清除WinINET缓存;
Tools--->Clear WinINET Cookies清除WinINET的Cookies;
Tools--->TextWizard文字编码解码;
Tools--->Compare Sessions比较会话;
Tools--->New Session Clipboard新会话写字板;
Tools--->HOSTS hosts配置;
Tools--->Reset Script重置脚本;
Tools--->Sandbox沙箱;
Tools--->View IE Cache查看IE缓存;
5.View菜单
View--->Show Toolbar显示工具条
View--->Default Layout默认布局
View--->Stacked Layout堆叠布局
View--->Wide Layout全部布局
View--->Tabs制表符
Tabs--->preferences偏好
Tabs--->autosave自动保存
Tabs--->apitest API测试
View--->Statistics统计
View--->Inspectors嗅探
View--->Composer构造
View--->Minimize to Tray关闭自托盘
View--->Stay on Top前端显示
View--->Squish Session List会话列表格式
View--->AutoScroll Session List自动滚动会话链表
View--->Refresh刷新
6.Help菜单
Help--->Help帮助
Help--->Fiddler Book说明
Help--->Discussions社区讨论
Help--->HTTP References HTTP的参考
Help--->Troubleshoot Filters-故障排除
Help--->Check For Updates检测更新
Help--->Send Feedback发送反馈
Help--->Abou关于
二)导航栏功能介绍:
调试debug:点击该按钮可以对debug断点进行调试,让断点继续往下走
- 添加断点如下图所示,点击底部状态下图所示位置开始增加断点
- 点击后会显示一个箭头朝上的图标,表示请求发送时会产生一个断点
- 再次点击这个图标会显示一个箭头朝下的图标,表示请求返回时会产生一个断点
过滤请求:
具体操作如下
查找功能
会话列表
选项卡功能介绍:
Statidtics--->对选中多个Sessions统计;
Inspectors--->请求头和响应体
AutoResponder--->重新定向
Composer--->模拟进行发送
FiddlerScript--->脚本
Log--->日志
Fiters--->过滤
Timeline--->瀑布流时间图
请求查看器
Headers--->请求头信息显示为一个分级视图,包含了web客户端信息、Cookie、传输状态等;
TextView--->显示POST请求的body部分为文本;
SyntaxView--->显示脚本(安装SyntaxView插件)
WebForms--->以直观的界面显示QueryString的值和Body的值,这里的Body应该是application/x-www-form-urlen-coded格式;
HexView--->请求内容的16进制显示;
Auth--->显示hearer中Proxy-Authorization和Authoriization信息;
Cookies--->以直观的界面显示Header中Cookie的值;
Raw--->将整个请求显示为纯文本;
JSON--->通过JOSN格式显示;
XML--->如果请求的body是XML格式,就是用分级的XML树来显示它;
响应查看器
Transformer--->响应信息的压缩编码格式;
Headers--->用分级视图显示响应的header;
TextView--->使用文本显示相应的body;
SyntaxView--->显示脚本(安装SyntaxView插件)
ImageView--->响应内容如果是图片则显示图片,左侧灰色区域会显示图片的大小、宽高、文件格式等信息,在下方还可以选择缩放模式:自动缩放、缩放以适应显示区域大小、无缩放;
HexView--->响应内容的16进制显示;
WebView--->;
Auth--->显示hearer中Proxy-Authorization和Authoriization信息;
Caching--->缓存;
Cookies--->以直观的界面显示Header中Cookie的值;
Raw--->将整个响应显示为纯文本;
JSON--->通过JOSN格式显示;
XML--->如果响应的body是XML格式,就是用分级的XML树来显示它;
三、配置
打开Fiddler Tool->Fiddler Options->HTTPS
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate
另外,如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上。
证书安装提示:
点击Yes,留意一下红框里面的内容,DO_NOT_TRUST_FiddlerRoot ,这个就是证书的名称。
点击是。
点击确定,这样Fiddler证书就已经添加成功了。
查看一下证书,Actions—>open windows certificate Manager
可以证书已经添加进去了,证书名称就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】
四、实战演示
使用fiddler对手机APP进行抓包
- 要抓取手机app的数据包,要对fiddler进行设置,打开fiddler后,选择"Tools"项,在点击"Options",进入到设置界面。
- 在"Options"界面,选择"Connections"项,检查"Allow remote computers to connect"是否勾选,如果没有则勾选该项。另外,需要记住此处的监听端口8888,然后点"OK"按钮保存配置
手机设置
1)在配置手机代理设置前,需要知道电脑的IP地址,可以通过cmd中输入"ipconfig"查看
2)进入到手机的配置—WLAN配置界面,点开已经连上的WLAN,进入到该WLAN的设置界面。
- 在WLAN设置界面找到"代理设置"项(点击网络旁边的图标),点击进入到代理设置界面。
- 将电脑的ip地址填入服务器栏,端口号填入fiddler监听端口8888,然后保存。
抓包
- 由于此时抓取的数据包包含了电脑和手机的所有数据包,不便于查看和分析,所以需要对fiddler抓取的数据包进行过滤,进入到"Tools"—>Options——>https项,选择"...from remote clients only",这样就只显示抓到的手机上的数据包。
- 运行手机上的APP,然后观察fiddler,就可以发现抓取到了运行该APP的响应数据包