什么是Fiddler?

网络项目的开发和测试中,Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的 ,可以说是非常常用的手头工具了,本文就Fiddler使用和配置进行说明。

代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端

了解HTTP协议

  • 要分析Fiddler抓取的数据包,先要熟悉HTTP协议。HTTP即超文本传输协议,是一个基于请求与响应模式的、无状态的、应用层的协议,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
  • HTTP的工作过程:当我们请求一个超链接时,HTTP就开始工作了,客户端先发送一个请求到服务器,请求内容包括:协议版本号、请求地址、请求方式、请求头和请求参数;服务器收到请求后做相应的处理,并将响应数据返回到客户端,响应内容包括:协议版本号、状态码和响应数据。前端根据响应数据做相应的处理,就是最终我们看到的内容。这些过程是HTTP自动完成的,我们只是输入或点击请求地址,然后查看前端给我们展示的内容。更多关于HTTP协议的介绍请参考:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
  • 请求方式常用的有:GET、PUT、POST、DELETE。
  • HTTP状态码主要分为5类:以1开头的代表请求已被接受,需要继续处理;以2开头的代表请求已成功被服务器接收、理解、并接受;以3开头的代表需要客户端采取进一步的操作才能完成请求;以4开头的代表了客户端看起来可能发生了错误,妨碍了服务器的处理;以5开头的代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
  • 常见的主要有:每个状态码的详细介绍请参考:https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
    •   200:服务器成功处理了请求;
    • 302:请求的URL已临时转移;
    • 304:客户端的缓存资源是最新的,要客户端使用缓存。
    •   404:未找到资源;
    • 500:内部服务器错误;
    • 503:服务器目前无法为请求提供服务

Fiddler的配置及使用

1.  安装

  直接在官网下载最新版就行:  https://www.telerik.com/fiddler , 根据自己的系统下载版本,正常安装

Fiddler安装后,默认的端口号是8888,这个可以根据自己需要进行修改

Fiddler要能进行抓包,需要确保Capture Traffic是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可以直接点击Fiddler界面左下角的图标开启和关闭抓包。

如果想抓HTTPS的请求,Fiddler需要做如下的设置

Tools --> Options ,然后按下图进行勾选,

将Fiddler正式安装在电脑上,点Action--> Trust Root Certificate--> Yes ,一步步确定

2. 浏览器配置

以Chrome浏览器为例,需要配置代理,fiddler才能抓到包。

浏览器到此为止,基本上不需要做什么配置,安装后就可以进行抓包了。

3. 手机的配置 ---安卓手机

(1)以安卓手机为例,先设置到代理,电脑需要连接WIFI,手机与电脑连接相同的WIFI,路径:设置 -- >已连接的WIFI -->高级设置-->代理:

代理服务器主机名的获取,cmd --> ipconfig --> IPv4 地址对应的 IP就是代理服务器主机名

(2)对于手机要抓包,还需要在Fiddler上进行如下配置

路径: Tools --> Options --> 勾选:Allow remote Computers to connect

(3) 手机要能够正常抓包,还需要安装证书,在手机浏览器里输入:代理服务器地址:端口号,(如 192.168.123.122:8888)

     

看到这里,恭喜您呐,PC浏览器,手机都可以正常的使用Fiddler抓包了。

4.Iphone手机配置 --- 2018.07.26补充

本打算就以安卓为例就可以了,结果发现很多小伙伴在配置IPhone的时候出现了问题,总是链接不上抓包工具,出现下面的错误

此处再补充一下Iphone的配置,因为它有一个特殊地方需要打开。直接上图吧,简单粗暴直观,照着配置就行了

(1) 先设置代理

(2) 安装fiddler证书

(3) 前面的配置都做好了,最关键的一步就是要信任证书

最后一步是关键了,很多小伙伴都折到这一步,连不上代理,找不到原因了。

经过这三步,Iphone就可以正常的被代理了

  

2018.6.21补充:

相同网关下,电脑连网线,手机连WiFi,也能抓包

最近公司的无线WiFi特别不稳定,电脑经常断网,可是不连WiFi又抓不了包,怎么办?

小哥突发奇想,公司的无线和有线都是在同一个网关下的,那是不是手机连WiFi,电脑连有线,也可以抓包,而且保证电脑不断网?

有想法就试一试。

(1)电脑连接网线

(2)cmd先获取以太网的IP地址

(3)手机还是继续连接WiFi,设置代理同上,只不过ip地址换成了以太网的

(4)通过fiddler测试,可以抓到包,测试通过

第二篇 Fiddler配置_浏览器&手机的更多相关文章

  1. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  2. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  3. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  4. 从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)

    本篇主要讲配置Windows 故障转移集群及遇到的相关问题(坑),因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 四种集群的仲裁配置: 1.多 ...

  5. 第二篇elasticsearch配置

    1.去github搜索 elashsearch——head,以mobz开头的2.在根目录下安装npm install 3.修改elashsearch下的config文件下的elashsearch.yu ...

  6. Fiddler4工具配置及调试手机和PC端浏览器

    Fiddler最大的用处: 模拟请求.修改请求.手机应用调试 Fiddler最新版本 下载地址: http://www.telerik.com/download/fiddler Fiddler 想要监 ...

  7. [老老实实学WCF] 第二篇 配置WCF

    老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Col ...

  8. 老老实实学习WCF[第二篇] 配置wcf

    老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Col ...

  9. (转)[老老实实学WCF] 第二篇 配置WCF

    第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Collections. ...

随机推荐

  1. Array GCD CodeForces - 624D (dp,gcd)

    大意: 给定序列, 给定常数a,b, 两种操作, (1)任选一个长为$t$的子区间删除(不能全部删除), 花费t*a. (2)任选$t$个元素+1/-1, 花费t*b. 求使整个序列gcd>1的 ...

  2. QBXT Day 2 记录

    例题1:乌龟棋 略 例题2: noip2015 子串 有两个仅包含小写英文字母的字符串 A 和 B. 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出 ...

  3. Django-rest-framework(四)router

    在上一节viewsets中,我们提到了route的方式使用,在这一节,我们将仔细介绍drf 的router机制.简单来说,router的作用就是将viewset对象的url映射关系提取出来. 简单使用 ...

  4. 零基础Python知识点回顾(二)

    开始了,继续说!字符串替换,就是预留着空间,后边再定义要填上什么,这种叫字符串格式化,其有两种方法: %    和 format %s  就是一个占位符,这个占位符可以被其它的字符串代替 >&g ...

  5. 删除Navicat在注册表信息

    @echo offecho 正在删除navicat注册表REG DELETE HKEY_CURRENT_USER\Software\PremiumSoft\Data /fREG DELETE HKEY ...

  6. Python基础—15-正则表达式

    正则表达式 应用场景 特定规律字符串的查找替换切割等 邮箱格式.URL.IP等的校验 爬虫项目中,特定内容的提取 使用原则 只要是能够使用字符串函数解决的问题,就不要使用正则 正则的效率较低,还会降低 ...

  7. 19-2-28Python的了解以及变量、常量、数据类型、if语句的结构

    Python目前有两个大版本,一个是2.x版本,一个是3.x版本. Python2x:源码冗余,混乱:且默认ASCII码,只能识别英文字母数字. Python3x:源码整合,美观,清晰,简单.默认ut ...

  8. django项目创建requirements.txt文件

    workon+虚拟环境名 然后输入 pip freeze > requirements.txt

  9. 编程 - 前端 - JavaScript - 库 - ECharts (开源可视化)

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  10. HTML中的【块】与【内嵌】

    块元素与内嵌元素 块的特征 默认独占一行 没有宽度时默认撑满一行 支持所有的css命令 内嵌的特征 同行可以连续跟同类的标签 内容撑开宽度 不支持宽高 不支持上下的内外边距 代码换行被解析 块与内嵌的 ...