Fiddler 的基础知识以及配置

Fiddler 的基础知识

Fiddler的定义以及作用

  1. 能够监听http/httpS的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求;

  2. 对截获之后的请求,我们还能够查看请求中的内容;

  3. 伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应。——该功能能够方便我们进行前后端的调式。

  4. 测试网站的性能;

  5. 解密https的外部会话。因为https本身是一种加密的协议,通过fiddle我们可以进行解密操作;

  6. 提供第三方扩展插件,满足更多需求

工作原理

Fiddler 的基础知识以及配置
生活中典型代理例子: 黄牛,微商。

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

其他抓包工具

  1. Firebug:火狐内部的抓包工具,虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。
  2. Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。
  3. Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

http 和 https 简单介绍

http: 网络协议

https=http+ssl网络协议+安全证书(HTTP的安全版)

软件开发的两种结构

BS结构:浏览器----服务器结构(游览器打开的应用程序)

CS结构:客户端----服务器结构。(王者荣耀,手机端微信)

C/S

  • 优点
    交互性强、具有安全的存取模式

    响应速度快、利于处理大量数据,

  • 缺点

    兼容性差,对于不同的开发工具,具有较大的局限性

    开发、维护成本较高

    由于程序需要安装才可使用,因此不适合面向一些不可知的用户

B/S:

  • 优点:

    分布性强,客户端零维护

    业务扩展简单方便,通过增加网页即可增加服务器功能

    维护简单方便,只需要改变网页,即可实现所有用户的同步更新

    开发简单,共享性强

  • 缺点

    跨浏览器上,BS架构不尽如人

    在速度和安全性上需要花费巨大的设计成本

    功能弱化,难以实现传统模式下的特殊功能要求

    客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。

BS与CS优缺点对比

  • CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高

  • BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用BS,在实际生产中使用CS结构。

http协议内容

定义:超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。

Get与post请求的区别

  1. GET使用URL传值。而POST将数据放在BODY中。
  2. GET的URL会有长度上的限制,2kb,则POST的数据则可以非常大。
  3. POST比GET安全,因为数据在地址栏上不可见(f12都能看见)。
  4. 一般get请求用来获取数据,post请求用来发送数据。

会话跟踪技术cookie与session

客户端技术 Cookie

两个经典应用场合:判定注册用户是否已经登录网站,购物车。

服务端技术 Session
经典应用场合一般就是在Session中存储了用户的登录信息,进而可以访问一些需要权限才能访问的页面。

Session和Cookie的主要区别在于

Cookie是把数据保存在浏览器端的内存中

Session把数据保存在服务器端的内存中

cookie与session的联系:

当服务器端生成一个session时就会向客户端发送一个cookie保存在客户端,这个cookie保存的是session的sessionId,这样才能保证客户端发起请求后客户端已经登录的用户能够与服务器端成千上万的session中准确匹配到已经保存了该用户信息的session,同时也能够确保不同页面之间传值时的正确匹配。

常见状态码

200 OK //客户端请求成功

400 Bad Request //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden //服务器收到请求,但是拒绝提供服务

404 Not Found //请求资源不存在,eg:输入了错误的URL

500 Internal Server Error //服务器发生不可预期的错误

503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

Fiddler配置

默认的状态下Fiddler是不会捕获Http请求的,需要自己设置一下

打开Fiddler 点击 Tool -> Fiddler Options -> HTTPS
Fiddler 的基础知识以及配置
Fiddler 的基础知识以及配置
选中checkbox, 弹出如下的对话框,点击"YES"
Fiddler 的基础知识以及配置
Fiddler 的基础知识以及配置
点击"Yes" 后,就设置好了