🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 有时候,为了便于测试或者调试程序,甚至为了检测程序的安全程度,需要抓取数据包进行分析,那么一个好用的抓包工具,就弥足珍贵了;这里引入一个比较常见且好用的工具,Fiddler; ## 二、Fiddler简介 Fiddler是强大好用的Web调试工具之一,本质上它是一个http调试代理,能够记录所有的你电脑和互联网之间的http通讯,Fiddler可以也可以让你检查所有的http通讯,设置断点,以及所有的“进出”的数据; ### **原理** 原理很简单,它是在客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果: ![](https://img.kancloud.cn/46/e7/46e7540e6a1ab04555c6814b61618ad1_708x171.png) ### **机制** Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序; ### **下载** [官网下载地址](http://www.telerik.com/fiddler) 下载到本地,然后按照正常的安装流程执行即可; ### **安装** 点击FiddlerSetup.exe,next一路到底; ![](https://img.kancloud.cn/0f/d7/0fd7b33fd7005f5aa5577efbfe2177f5_426x292.png) ![](https://img.kancloud.cn/cd/96/cd96ee3df0b21579f1a6c376abacb7bf_1366x736.png) 安装完毕; ### **使用** ![](https://img.kancloud.cn/49/c8/49c853a471caf788ee63b214ab902e5a_1366x736.png) 确保代理设置: ![](https://img.kancloud.cn/00/b0/00b016af145cc7c0779e6c11d0099be9_475x564.png) 一般是可以自动设置的,如果没有被自动设置,可以手动设置;如果用其他的浏览器,需要设置该浏览器的代理设置; ### **小试牛刀** 从刚才设置的浏览器中,打开一个网站; 比如,百度网站;可以看到很多抓包信息了; ![](https://img.kancloud.cn/d6/2b/d62b28076c0e1e945b4973414e8344b4_1366x736.png) 如果你需要在其他浏览器,比如Microsoft Edge浏览器中访问网站,抓取特定报文,那么,需要把该浏览器的代理服务器,设置为Fiddler,即可,如下; ![](https://img.kancloud.cn/b4/af/b4afa4d4c70b3ce0b3a686d5c0fde804_1358x689.png) ![](https://img.kancloud.cn/7d/af/7dafcbe711b23068317cb617f24460a9_491x692.png) > 简单吧? ### **视图简介** ![](https://img.kancloud.cn/f8/37/f8378b88a7d6f9f607f555e1e16090b9_1366x736.png) 主要的介绍一下 1、Statistics 请求的性能数据分析; 2、Inspectors 查看数据内容; 3、AutoResponder 允许拦截指定规则的请求; 4、Composer 自定义请求发送服务器; 5、Filters 请求过滤规则; 着重需要介绍的,是Inspectors ,这个是查看详细抓包数据的标签页,下面部分,分成如下子标签,展示不同的内容; ![](https://img.kancloud.cn/bf/8a/bf8a0df02a5e6814cd7c5142bf14836c_1366x736.png) 这里点开看,就清楚是什么内容了,比较简单; ### **注意** 1、Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能; ![](https://img.kancloud.cn/e5/72/e572299dc21f8ba83b3206149d6ec7d0_1366x736.png) 2、如果响应体是编码过,可以自动解码,点解即可,例如; ![](https://img.kancloud.cn/05/5d/055de946054dff3bf4e04f936d7821f7_1366x736.png) 点击后; ![](https://img.kancloud.cn/60/17/6017445e6b875fd1e39ac011c6b68ed4_1366x736.png) 3、如果出现:The system proxy was changed,click to reenable fiddler capturing; 原因是有其他进程一直在修改代理,找到会修改代理的软件,关闭即可; ![](https://img.kancloud.cn/82/20/8220bf75fc87c25906b6005d1a1d6c77_399x258.png) ## 三、实战 PC浏览器的抓包,非常简单,如果,我们需要抓取app的包呢?下面来简单介绍一下方法; 把自己的电脑开启热点,将手机连上电脑(或者相同的网段,比如都是同一个无线接入点也可以,但考虑稳定度和已验证,用手机连电脑最靠谱,推荐这样来配置),Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包; ![](https://img.kancloud.cn/4e/13/4e137db3bb1b1aaf9de42e22b9dd5d27_788x407.png) ### **网络配置** 安装[360随身WiFi电脑版 - 360WiFi官网](https://wifi.360.cn/easy/pc); ![](https://img.kancloud.cn/09/1c/091c44da699507e582acc1e8088472bb_350x550.png) 除了直接通过电脑自身的wifi,其实,只要连入网络,代理服务器配置正确且可以访问就可以;例如: ![](https://img.kancloud.cn/79/35/793588f627ba5b26eeab00888d068684_343x527.png) 只要配置代理服务器配置正确也可以的; ### **Fidder配置** 打开Fidder,点击菜单栏中的 [Tools] –> [Fiddler Options] ![](https://img.kancloud.cn/77/15/7715987be438484dd89e87fd57a81385_1366x736.png) 然后重启Fiddler,这时在 Fiddler 可以看到自己本机无线网卡的IP了; ![](https://img.kancloud.cn/91/40/91400eaf7c08a001233e0fae0590556c_677x457.png) 配置抓取远程HTTPS的数据包; ![](https://img.kancloud.cn/6a/35/6a358da442250e752b058f46e452a8f7_558x376.png) 允许远程连接: ![](https://img.kancloud.cn/6c/c5/6cc58103b85a40dad5633534f89f4027_558x376.png) 防火墙开放8888端口: 直接暂时关闭好了: ![](https://img.kancloud.cn/c9/87/c987450258db40668e1b5cbd88f7e5d2_1047x478.png) ### **手机端配置** 在手机端连接PC的wifi,并且设置代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888) ![](https://img.kancloud.cn/15/de/15de023204b68647f6fa99f0503a878e_296x487.png) 下载证书:访问PC端部署的Fiddler,通过手机浏览器,访问地址: http://【fiddler电脑IP地址】:【fiddler设置的端口号】,例如本例中的http://192.168.253.1:8888; ![](https://img.kancloud.cn/e1/6b/e16bb5451c334e41bcd93704e4cfd8f6_291x503.png) ![](https://img.kancloud.cn/f5/ce/f5ceb74dc715bdda7821e9b90af00514_285x502.png) 选择底部的FiddlerRoot certificate下载; ![](https://img.kancloud.cn/b3/27/b32783aba701b8f698f1bf3c3ad677eb_300x502.png) 安装证书: 手机打开设置—安全和隐私—凭据存储—从SD卡安装,选择步骤4中下载的证书,进行安装,完成;或者是直接点击证书,命名,即可; 设置完毕,通过手机打开应用,就能被Fiddler抓包了; >[danger] 特别注意: > Android 7以及以上,系统不再信任用户安装的证书,Android 7之前的版本把CA安装到用户证书下即可,所以为了能正常抓包,需要把ca证书安装到系统证书下; > 参考:[导入证书](%E6%8A%93%E5%8C%85%E5%B7%A5%E5%85%B7/%E5%AF%BC%E5%85%A5%E8%AF%81%E4%B9%A6.md) ### **完成了** >[info] 到这里,所有的步骤都完成,可以甩开模拟器,直接用真机来进行抓包,更方便操作了; ### **抓包实录** 以抖音为例,比如我们要抓当前某个用户的视频,这么个场景; 那么,在手机上打开抖音,找到某个用户的视频界面,即可,然后在Fiddler中,找到会话,即可; ![](https://img.kancloud.cn/68/2b/682ba6febc90ee05ed112b9484f0c43a_1366x736.png)