Fiddler抓包教程
FD玩得好 监狱蹲到老
慎入ing
Fiddler界面介绍
Fiddler介绍
略,自行百度
http与https略,自行百度
响应状态码介绍
略自行百度
电脑浏览器抓包
电脑浏览器抓包就简单了,如下图所示:标题栏
选择Any Process,按着不放,移动到要监听的浏览器上面,然后松开。
如图所示,我监听了chrome浏览器。再次点击取消。
手机抓包教程
首先打开Fiddler工具,如下图所示:
打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,
勾选CaptureHTTPS CONNECTs,点击Actions,
勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),默认端口8888
上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888
点击ok,然后重启Fiddler。
然后查看自己的IP,Win+R打开终端,输入ipconfig,查看IPV4,
然后进入手机,连同一网络,
Wifi 使用代理,IP改为电脑IP。端口设置为上面的端口号。如下图所示:
然后点击连接:手机访问网络。即可抓取手机上的请求:
抓包技巧
下面是一些简单的功能,自己组合技巧。技巧什么的,
FD用的好,监狱蹲到老。
ing
配置介绍
界面介绍
一、添加备注:使用方法如下:
二、重发,可以重新发送一次请求
效果如下:
三、清除会话,可以选择清除全部、图片、或者其它。
效果如下:
四、Go,让断点继续执行。
效果如下:箭头向上是拦截发送,箭头向下是拦截响应。
五、模式切换
缓冲模式、流模式之间切换。默认是流,按下去则是缓冲模式。
缓冲模式:
http请求所有的数据都准备好之后才把数据返回给客户端。可控制最后的服务器响应。
流模式:
可实时把数据返回给客户端。更接近浏览器本身真实的行为。
六、Decode,帮助我们把Http请求解压出来。我们查看的时候则更方便一些。
七、Keep:All sessions,保持会话,电脑不行的时候建议不要保持session
八、Any Process,过滤请求,过滤掉一些我们不想看到的请求
效果如下:比如说我只想看到微信或者,Chrome浏览器的请求。如下图所示。再次点击则是取消过滤。
九、十、过滤和保存打开会话。
效果如下图所示:,可以过滤请求,保存请求,并且打开请求,例如一个人抓了包,保存下来后,让另一个人查看。
十一、十二、十三,截图,计时器,打开浏览器。点击下拉可以选择打开的浏览器。
截图:倒计时截图。
计时器:点击第一次,计时,点击第二次,停止,点击第三次清零。
不演示。
十四、清除缓存
十五、编码解码
效果如下:一看便知。
倒数第二个:Tearoff,面板分离功能。很实用的一个功能。
如下图我的面板,
点击Tearoff前:
点击后:
最后一个略。
状态区介绍
Capture用来控制Fiddler是否工作,点击即可切换状态
All Process控制请求来源
旁边的数字代表当前会话数量
命令行介绍:
select命令。选择所有相应类型
allbut命令用于选择给定类型的HTTP请求(删除其他类型请求),该命令还有一个别名keeponly.
只保留image会话:allbut image
?text命令 选择所有 URL 匹配问号后的字符的全部 session
?baidu.com
小于/大于size命令
选择响应大小大于某个大小或者小于某个大小的所有HTTP请求
选择响应大小大于100k的请求:>100k
=status命令
选择响应状态等于给定状态的所有HTTP请求。
选择所有状态为404的HTTP请求:=404
@host命令
选择包含指定 HOST 的全部 HTTP请求。
选择所有host包含baidu.com的请求:@baidu.com
help
输入help会弹出这个页面 http://docs.telerik.com/fiddler/knowledgebase/quickexec,是fiddler的官方命令行文档
statistics 数据统计。
Inspectors 对请求进行解包。
AutoResponder 文件代理。
可以模拟数据返回。暂时保密。
这个文件代理挺好用的,感觉应该多说几句。
规则写的时候使用不同的前缀代表不同的含义,常用的前缀有REGEX
, EXACT
, NOT
和不使用前缀。
- REGEX: 使用正则表达式进行匹配(简直万能)
- EXACT: 匹配时区分字母的大小写
- NOT: 待匹配的字符串中不包含当前的匹配串
- 不使用前缀: 匹配时不区分字母大小写
写好了匹配规则后点右边的test
可以进行测试
蓝绿色表示匹配,红色表示不匹配。确定了匹配规则后点击右边的save使规则生效。
Composer 前后端工具联调
拖入,即可修改请求数据。然后点击Execute
Log 日志
Timeline 性能分析
Filters:设置会话过滤规则
Fiddler中的快捷HOSTS配置
点击Tools——HOSTS
如下图:保存即可生效,如果要取消则取消勾选即可。
…from all processes :抓所有的请求
…from browsers only :只抓浏览器的请求
…from non-browsers only :只抓非浏览器的请求
…from remote clients only:只抓远程客户端请求
https://tool.lu/httpcode/
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
Fiddler的拓展
缓冲模式:
http请求所有的数据都准备好之后才把数据返回给客户端。可控制最后的服务器响应。
流模式:
可实时把数据返回给客户端。更接近浏览器本身真实的行为。
禁用缓存
两种方法,一种暂时的,一种永久的
在进行调试的过程中,我们希望可以立即显示出效果,所以不希望有缓存,我们可以在fiddler里面设置禁用缓存:
暂时的方法:
Rules->Performance->Disable Caching
永久的方法: 在fiddler script里查找 > var m_DisableCaching: boolean = false; 把值改成true并保存就可以了
解决跨域
然后编辑这些代码。
static function OnBeforeResponse(oSession: Session) { if(m_Hide304s && oSession.responseCode == 304) { oSession["ui-hide"] = "true"; } if(oSession.urlContains("目标url")) { oSession.oResponse["Access-Control-Allow-Origin"] = "源url"; oSession.oResponse["Access-Control-Allow-Credentials"] = true; oSession.oResponse["Access-Control-Allow-Headers"] = "accept, content-type, x-requested-with"; } }