🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# **Fiddler简介** **今日内容概要** 1. Fiddler 工作原理分析(应知) 2. Fiddler的先关设置(应会) 3. Fiddler的使用(应会) 1.Fiddler 工作原理分析(应知) 1.1 Fiddler是位于客户端和服务器端之间的HTTP代理, 它能够记录客户端和服务器之间的所有 HTTP(S)请求,可以针对特定的HTTP(S)请求,分析网络传输的数据,还可以设置断点、修改请求的数据和服务器返回的数据。 Fiddler在浏览器与服务器之间建立一个代理服务器,Fiddler工作于七层中的应用层,能够捕获通过的HTTP(S)请求。Fiddler启动后会自动将代理服务器设置成本机,默认端口为8888。Fiddler不仅能记录PC上浏览器的网络请求数据,还可以记录同一网络中的其他设备的HTTP(S)请求数据。数据传递流程大致如下: ![](https://img.kancloud.cn/d1/af/d1af8fe31be374f7117f7943948ebe79_850x356.png) 1.2Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。同类工具还有MiniSniffer, Wireshark, Firebug, HttpWatch等 2.Fiddler的使用(应会) ![](https://img.kancloud.cn/36/75/3675f209d96d4f78f36b7f8d03a15330_370x169.png) 2.1 下载完成后安装,选中checkbox, 弹出如下的对话框,点击"YES" ![](https://img.kancloud.cn/3c/10/3c1053568225368e8296943952105bbf_448x192.png) ![](https://img.kancloud.cn/11/c6/11c6e718f920bb3e38b777474973caae_507x434.png) 2.2 设置代理和端口号安装完成后打开 如下图设置Fiddler代理: ![](https://img.kancloud.cn/f5/4f/f54fc2544b8dba673810d6c9166ed7ec_724x555.png) ![](https://img.kancloud.cn/59/dc/59dc47533daad8dbd4d96964a578644c_558x376.png) 2.3默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler  Tool->Fiddler Options->HTTPS tab ![](https://img.kancloud.cn/ff/2c/ff2cf8fce40dd096e2fbacbe8b02102f_558x373.png) 2.4抓取模式设置 from all processes : 抓取所有的 https 程序, 包括 本机 和 手机 from browsers only : 只抓取浏览器中的 https 请求 from non-browsers only : 只抓取除了浏览器之外的所有 https 请求 from remote clients only : 抓取远程的客户端的 https ,可以代表手机 开启手机 Https 抓包 如果只想抓取 手机上的所有 https 请求,就应该选中 from remote clients only 。 ![](https://img.kancloud.cn/63/3c/633c079388db2ed55c66c09687ba188f_556x363.png) 2.5 pc浏览器设置 在浏览器的最右侧,点击 三个点 图标,然后点击设置 ![](https://img.kancloud.cn/32/2b/322bca1128ff93ff14a008482903616e_353x508.png) ![](https://img.kancloud.cn/90/ff/90ff1879761cc3fa4442b93ee57620a2_755x499.png) ![](https://img.kancloud.cn/f8/54/f8548c6fb00c466c7848dc04f569b425_594x207.png) ![](https://img.kancloud.cn/b4/2d/b42d88d674914744bafee50cccd2c2f8_1856x599.png) 2.6手机端配置 获取PC端IP地址 ![](https://img.kancloud.cn/12/8a/128a90d72f820cc89c8dfbf213112831_677x442.png) 安卓手机设置代理 打开手机【设置】开启【wlan】-->连接路由器的wifi网络-->长按该wifi名称-->勾选【显示高级设置】,代理设置选择【手动】-->服务器处输入电脑ip,输入端口-->端口为:8888 连接后,fiddler就会显示手机上的相关浏览信息了 不同型号手机代理设置可能不太相同,基本都在设置中可找到(如魅族:长按wifi名称-->代理设置,进行连接设置;华为:长按wifi名称-->名称-->修改网络-->输入wifi密码,代理选择手动,输入服务器ip和端口号,点击连接即可) 2.ios手机设置代理 打开手机【设置】,无线局域网-->连接路由器的wifi网络-->点击网络名称-->HTTP代理,选择手动,服务器处输入电脑ip,输入端口后,fiddler连接成功 3.Fiddler的使用(应会) 3.1看看Fiddler的基本界面 ![](https://img.kancloud.cn/53/69/536910dc4ee5cac863dabcee3ff1a1c8_997x694.png) 3.2工具栏快捷按钮介绍 ![](https://img.kancloud.cn/65/6f/656f97a3b3c873c12d712c626aaa8d60_1161x183.png) 气泡图标:增加备注 点击一条会话,点击此按钮(或者右键Comment),弹出增加备注弹窗,点击OK后,备注就显示在Comment下 2.Replay:回放按钮,对捕捉到的某条会话进行回放操作 点击一条会话,点击Replay按钮(或者右键Replay),会话重新回放 3.X:清空监控面板 Remove all:清空所有 Images:过滤图片请求 Non-200s:过滤非200的请求 Non-Browser:过滤非浏览器的请求 Go:相当于调试Debug功能,请求断点的时候,让断点继续向下走 结合状态栏使用,点击底部状态栏,箭头朝上是请求发出时产生断点,箭头朝下是请求回来时产生断点 设置断点后,选中某条会话à使用Replay按钮,请求发送不出去,然后点击Go,请求成功 点击Find,Find Sessions弹窗-->Find 输入想要查找的Host名称,下面选择某种标示颜色-->点击Find Sessionsàfiddler页面中即标示查找的会话请求 Save:保存,便于清空会话后可从保存的文件中查看 Save把当前会话保存到一个地方-->清空所有会话-->左上角工具栏 点击File-->Recent Archives-->选择最近的文件,fiddler中即可显示之前所有会话 保存截图 保存后在fiddler底部出现一条图片会话,点击后右侧出现图片,可进行保存到桌面的操作 计时器 Browse:快速启动浏览器 选中一条会话,可以快速启动已安装的浏览器 Clear Cache:清除IE浏览器缓存 TextWizard:编码/解码文本内容 复制内容-->点击TextWizardàURLDeco 底部命令行工具 ![](https://img.kancloud.cn/4e/d1/4ed15bd49764b4614fec0eb92ea818e8_659x26.png) Capturing,控制捕获会话的快捷开关; 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。 第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认是空白即不设断点) 3.3如何开启/关闭 抓本机的包 如果需要抓取本机请求,有 3 中方式 方式 1 只需要启动程序并确保左下角为 Capturing状态 即可 ![](https://img.kancloud.cn/9f/e4/9fe4999dc2fce865e2759202787642ca_690x94.png) 方式 2 按快捷键 F12 进行切换 方式 3 File --> Capture Traffic 勾选。 ![](https://img.kancloud.cn/a4/27/a42783d40573940163560d1d6959540d_1162x434.png) 扩展: 注意这个很有用,可以开启抓本机的包,也可以过滤本机的包。当手机开启了开启了代理,就可以把本机的包过滤掉,专注抓手机的包,此时会话列表中都是手机的包了。 3.4 Fiddler中查询会话 用快捷键Ctrl+F打开Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示。 ![](https://img.kancloud.cn/c9/77/c9770ef14da5b2d7bbb367f326188714_304x305.png) 3.5 主界面的功能区 ![](https://img.kancloud.cn/c0/55/c055e0b87dfd0b553ff4947d5fb7484c_807x54.png) ![](https://img.kancloud.cn/54/07/5407e980dcdfcddc3206bf1b59128197_496x253.png) 栏图标说明 ![](https://img.kancloud.cn/b1/46/b146299b1ddd550e816367ddaa14ed89_431x394.png) 3.6 详情和数据统计板 inspector面板 针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息: ![](https://img.kancloud.cn/9a/44/9a44bdec3508e96b751b18af136e8140_547x372.png) ImageView标签 JPG 格式使用 ImageView 就可以看到图片,选择一条Content-Type是image/jpeg的回话,点击TextView ![](https://img.kancloud.cn/8a/d6/8ad66bdc73e5eefd2fe6fb941aa5125a_585x283.png) TextView 标签 HTML/JS/CSS 使用 TextView 可以看到响应的内容。选择一条Content-Type是text/html的回话,点击TextView ![](https://img.kancloud.cn/6d/39/6d3945718cd77fe7d76bccfc5ee6c02f_574x266.png) Raw标签 Raw标签可以查看响应报文和响应正文,但是不包含请求报文 ![](https://img.kancloud.cn/73/31/7331a62fe26a5cb792d57691bf03f60d_567x201.png) Auth标签 Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息 Cookies标签 Cookies标签可以看到请求的cookie和响应的set-cookie头信息。 ![](https://img.kancloud.cn/5b/49/5b493389f6ba8a4073ccf9cc7b9c0056_605x406.png) Statistics面板 HTTP请求的性能和其他数据分析 ![](https://img.kancloud.cn/97/36/97365864a18bc76fb9c1a77d9202d315_556x392.png) 我们可以从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,建立TCP/IP连接的时间消耗是8ms等等信息。 composer面板 可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式) ![](https://img.kancloud.cn/36/a4/36a46af53d2469c1668d24338e293013_584x365.png)