58,滴滴,京东等大厂都在用的抓包工具:Fiddler

前言:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(例如cookie,html,js,css等文件)。换句话说就是Fiddler可以拦截请求和响应的http代理工具。


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


应用场景:

1.接口调试和测试

2.线上环境调试

3.web性能分析

4.判断前后端bug

5.开发环境hosts配置

6.mock(虚拟测试)

7.弱网和断网测试等

工作原理


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

在用Fiddler之前需要先熟悉HTTP,一个HTTP请求和响应包含哪些内容呢?(以下数据都可以通过Fiddler抓包查看)

HTTP请求包含:请求行、请求头、空行(post)、请求正文

1.请求行:请求方法 、请求资源地址、HTTP协议和版本号

2.请求头(部分):

58,滴滴,京东等大厂都在用的抓包工具:Fiddler

3.空行:告诉服务器请求头部到此为止

4.请求数据(请求体):

(1)若是get方法,没有请求体,get请求的数据在url中一起提交

(2)post方法,要提交的数据和内容,是有请求体的,post会产生两个数据包,浏览器先发送header,服务器响应100continue,浏览器再发送data,服务器响应200ok


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

响应包含:状态行、消息报头、响应正文三部分组成

1.状态行包含:响应码(200 )、协议(HTTP/1.1)

2.常见的响应头部信息如图:


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

3.响应正文:服务器返回的数据

如何用fiddler进行弱网测试?

1.Rules---Customize Rules---ctrl+f 搜索 delay 这个值控制着request-trickle-delay请求的延迟时间和response-trickle-delay响应延迟时间来模拟弱网测试

如图


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

修改完成后,ctrl+s保存

2.修改完这个值保存后,并不能直接生效,还需要 使用这个规则

Rules----》Performance (性能)----》勾选 Simulate modem speeds(模拟调制解调器速度),使用这个规则


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


勾选之后就可以进行弱网测试了,通过访问自己的请求,查看响应结果是否符合要求

如何用fiddler设置断点进行测试呢?

1.方法一(个人常用):


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

2.方法二:


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

3.请求前断点场景演示,如图


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


结果显示


58,滴滴,京东等大厂都在用的抓包工具:Fiddler

4.请求后断点演示


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


设置响应后断点,进行异常操作的页面显示:


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


如何进行查看单个资源的响应时间呢?

1.同样的是是定制规则:Rules---》Customize Rules

58,滴滴,京东等大厂都在用的抓包工具:Fiddler

2.打开之后,复制一下代码,粘贴成功后,保存并重启Fiddler生效(代码不为本人原创)

<code>	//请求开始时间
	public static BindUIColumn("Time Happen")//tab的名称,自己想改什么就改什么

	function RecordTimeBegin(oS: Session){

		var sResult = String.Empty;

		if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))

		{

			sResult = oS.Timers.ServerGotRequest.ToString();

		}

		return sResult;

	}
	function BeginRequestTime(oS: Session)

	{

		if (oS.Timers != null)

		{

			return oS.Timers.ClientBeginRequest.ToString();     

		}

		return String.Empty;

	}
	//响应耗时
	public static BindUIColumn("Time Taken")

	function CalcTimingCol(oS: Session){

		var sResult = String.Empty;

		if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))

		{

			sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();

			//sResult = oS.Timers.ServerGotRequest.ToString();

		}

		return sResult;

	}/<code> 

3.再次访问请求时,就会显示请求开始时间和响应耗时


58,滴滴,京东等大厂都在用的抓包工具:Fiddler


破解https的方法和手机抓包应用,可以私信小编“学习”进行获取


分享到:


相關文章: