Fiddle的工作原理:
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888
(Fiddler启动后会自动将代理服务器设置成本机,默认端口为8888)。
当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。
不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
(浏览器代理服务器的设置)
Fiddle下载安装
官网下载地址:http://www.telerik.com/fiddler(要FQ才可以,直接在网上找个安装包就可以)
下载到本地,然后安装正常的安装流程执行。
运行起来就是下图的样子:
Fiddler的运行机制其实就是本机上监听 8888 端口的 HTTP 代理。Fiddler 启动的时候默认 IE 的代理设为了127.0.0.1:8888,
而其他浏览器是需要手动设置的,所以将 Chrome 浏览器的代理改为127.0.0.1:8888 就可以监听数据了。
Chrome 浏览器如何设置代理
在浏览器的最右侧,点击 三个点 图标,然后点击设置
点击高级---》系统---》打开你计算机的代理设置
Chrome 浏览器的代理改为127.0.0.1:8888
(我再实验过程中火狐浏览器不需要设置,自己就可以代理抓到包了)
开启 Https 抓包监听
Fiddler 默认下,Fiddler不会捕获HTTPS会话,需要你设置下:
Decrypt HTTPS traffic勾选:监听https请求。
from all processes
: 抓取所有的 https 程序, 包括 本机 和 手机(连接服务器ip的手机,在后面设置中有)。from browsers only
: 只抓取浏览器中的 https 请求。from non-browsers only
: 只抓取除了浏览器之外的所有 https 请求。from remote clients only
: 抓取远程的客户端的 https ,可以代表手机。开启手机 Https 抓包
如果只想抓取 手机上的所有 https 请求,就应该选中
如果只想抓取 手机上的所有 https 请求,就应该选中
from remote clients only
。如何用Fiddler对Android应用进行抓包
启动Fiddler,打开菜单栏中的 Tools > Options,打开“ Options”对话框。
在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,
然后点击“OK”按钮。
在本机命令行输入:ipconfig,找到本机的ip地址。
打开android设备的“设置”->“WLAN”,找到你要连接的网络连接(注意这个网络要和电脑连接的网络一致,确保在同一局域网内),
点击进入设置,然后选择“修改网络”,弹出网络设置对话框,然后勾选“代理设置”。
在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,
然后点击“保存”按钮。
然后启动android设备中的今日头条,打开,在fiddler中可以看到完成的请求和响应数据。
注意:这里还有一步,访问网页输入代理IP和端口,下载Fiddler的证书,这样才能网络畅通。
方法:在手机浏览器输入:电脑ip:8888(192.168.0.109:8888),点击图中FiddleRoot certificate,下载证书,并进行安装就可以了。
如何开启/关闭 抓本机的包
如何开启关闭抓本机浏览器的包呢?
如果需要抓取本机请求,有 3 中方式。
方式1:
只需要启动程序并确保左下角为 Capturing状态
即可。
当显示为Capturing时,代表可以抓本机的包。
方式2:
按快捷键 F12
进行切换。
方式3:
File --> Capture Traffic 勾选。
扩展:
注意这个很有用,可以开启抓本机的包,也可以过滤(不抓)本机的包。当手机开启了代理,就可以把本机(浏览器)的包过滤掉,
专注抓手机的包,此时会话列表中都是手机的包了。
清空会话列表
列表里面的抓的包信息就会被清空了。
快捷功能
. 第一个是Capturing,控制捕获会话的快捷开关;
. 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。
. 第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认
. 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。
. 第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认
是空白即不设断点),request断点和response断点详情中详解
.后面的而是当前选中会话的一些标识和描述,如当前选中的是127个会话中的第一个, 详细url为http://www......
.后面的而是当前选中会话的一些标识和描述,如当前选中的是127个会话中的第一个, 详细url为http://www......
过滤域名
Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。
所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。
打开fiddler,找到Filters选项并点击打开。如图所示
默认情况下,这个页面是灰色的,代表默认不过滤任何请求。现在我们勾选 Use Filters
。
- 在 Hosts 里面可以看到
No Zone Filter : 不做任何过滤
Show only Intranet Hosts : 只显示内部网络主机
Show only Internet Hosts:只显示互联网主机。
Fiddle教程:https://kb.cnblogs.com/page/130367/
参考链接:http://blog.csdn.net/zhaoyanjun6/article/details/72876628