00:00
呃,这个抓包的工具啊,非常多,我在这给大家介绍这个叉S,这是我比较熟悉的啊,之前这是在max系统上,现在已经迁移到已经迁移了很久了,在这个Windows上呢,也有,呃,叉S。非常知名,叫charsy啊,这是它的官方网站,我们打开看一下。这个chars啊,它不只是能够呃,帮我们去拦截请求啊,它还可以去模拟请求,也就是模拟一些简单的这种并发测试,也也也是可以的。在这儿呢,就可以当load,当然它是收费的,免费版也可以凑合着用啊,这WINDOW64位版本,你下载完之后给它装好啊就可以了。嗯,这是我已经安装好的一个chars。这个chars这个工具啊,它比较慢啊,就你打开你用它的时候啊,这个你得稍微等一等,就是尤其是首次启动的时候,这就是启动之后它的这个界面,这有一个红色的按钮recording,它像在像就像是在录屏一样,我现在给大家讲课对吧,我现在在录屏,它其实呢,是在录制咱们现在呃,当前系统里边的所有的请求啊,他会。
01:18
呃,全部都给它给录制下来。那在这儿呢啊,默认的啊,刚打开的时候,它就已经开启了这小扫把呢,就可以把这个呃之前这些请求呢全都给呃扫掉,然后现在呢,它正在帮我们去录屏,对吧?你看啊,我们现在什么都没干,他还会发起一些请求,这就是我们系统当中的不知道运行了什么东西,或者浏览器某些这个JS在异步的去向后台发什么请求。啊,那这个我们访问一下你看。它这个关了,我们访问一下我们自己的这个站点来来刷新,大家就可以看到在这个呃,它的这个抓取的这个呃请求里边就能看到我们的这个请求了。
02:03
它是分好组的,针对一个站点去分好组,这里边儿呢,我们看这里边的这个一些关键信息,就是这个,呃,Keep live现在是没有的啊,直接就没有,压根儿就没有对吧。然后再点开。看这个请求的一些详情啊,这是LTB状态啊,OK 200。然后这个keep alive no直接就是no根本就没开,如果你浏览器啊,你看不见啊,或者是这个有一些有一些什么缓存啊,或者任何的什么其他的问题,你就可以用这种抓包工具去看。然后他还可以去帮我们去模拟一些请求。磨一些简单的并发,比如说在这儿。这是我们刚刚的一个请求,对吧,他给我录下来了,录下来之后呢,他可以再放一遍,这有一个repeat。对吧,哎,你点一下它就再来一次,再点一下就再来一次,然后这里边还有一个repeat advanced,就是高级的repeat,它可以把我们就重复N多次,对吧,比如我们让他重复十次啊,然后延迟多少多少毫秒,我们在这儿呢,就让他哎来十次来走。
03:12
大家看啊,在这就分出两个session了,对吧,这SESSION2这里边它帮我瞬间发起了十个请求,然后我们在这里边还可以看到他抓取这个数据损消耗的延迟啊,比如DNS的延迟啊,连接的延迟,请求延请求耗时,然后response耗时啊,以及这个连接的速度啊,但是这个并不能做这个压力测试啊,但是我们可以让他去复现一些这个请求。我们发起十个请求之后,他每一次呢,也都是这个,呃,Keep live,他也都是no对吧,它也都没有没用我们的这个之前这个TCP连接,那至于这个TCP连接我们还可以。来点这儿啊,看这这active connections,你点一下这儿就能看到当前我的系统究竟开了多少连接了啊。
04:03
那同学们,接下来我们把这个keep live给它给打开,然后我们再观察一下这个chars里边会有什么变化。嗯,把这Q打开,我们改一下这个配置文件其实就可以了,之前这是零嘛,对吧,给他一个别的数60,然后CTRLS。然后再呃,重新restart一下。然后再打开我们这个青花瓷。呃,因为免费版啊,他这个得稍微等几秒是吧。嗯。他现在有没有在录,然后我们看一下啊。这个。也给打开,然后。我们刷一下这个页面来走。大家看啊,现在的这个青花瓷里啊,针对于我们刚才这个请求,看看这个keep alive的在哪呢。
05:06
嗯,然后再来再刷一个你再看。诶第一个呢,它是没有的啊,就是这是真正的有没有这个使用keep live,这第一个是没有的,因为刚刚开始发起请求嘛,对吧,然后这第二个就有了,然后我们再刷你看。多来几个。是不是也都有了,对吧,然后我们看这个active connection。他们刷你看。在我们这一个这个呃请求当中啊,不是在这一个这个网络连接当中,你看这个transactions他发起了多少次这个请求。诶每刷新一次呢,这里边儿就会加一对吧,它复用了之前的一个链接,相当于这连接呢,就只有一个。是吧,然后再看这边儿呢,所有后续的这个。请求他的这个keep live全都是yes了是吧?那如果把这keep live给关了,我们再看一下它会出啥效果。
06:04
其实应该刚才验尸啊,我得重启一下。嗯,我的那个控制台。现在是把keep live给关了对吧,然后把这都清一下。这小扫把给他给清一下。来,我们刷一下这个大家看。这出来一个对吧,这第一次呢,Live,嗯,没有是吧。然后再刷一下。第二个。还是没有来再刷。多刷几个。也还是没有是吧,然后在这个呃,Connection里,我们注意观察一下,我刷一下刷一下刷一下,注意看这个transaction。它是每一个transaction对应的都是一个新的连接,刚刚呢是在一个连接里边呢。它会有很多transaction,它每一个transaction相当于这个,呃,一次事物的请求啊,我们就可以简单理解成事物请求啊,其实就是发起了一次请求,这里边儿其实也没啥事物对吧,就是以只读事物嘛,就想取一下这份数据,你刷多少次,它就会创建多少次连接,大家看对吧,那如果模拟一下这个请求,让repeat一下。
07:18
那来十个来走,你看这里边儿。哦,这里边儿是他这个他没有抓到对吧。然后。啊,这是它一个问题啊,你repeat的时候,这里边他没抓到,但是我们在这浏览器这刷的时候啊,这是能抓得到的是吧。这是这个青花瓷的这个抓包工具,这个包工具呢,还有很多其他好用的这个功能,呃,像以前啊,我们在这是题外话了啊,像以前我们在呃,做项目的时候啊,刚开始移动端刚刚比较火的时候,都不太会设计这个API,这个接口啊,你那个Jason你的格式应该怎么去设计?啊,其实都是自己瞎搞,当然啊,很多大公司也是瞎搞,但是我们作为呃这个创业公司,我们自己做项目的,那我就特别期望我想看看大公司这个它真正的这个线上这个规范究竟啥样的,比如说我想看看微信这个,他仿佛这个接口数据,它的数据是怎么封装的,那个Jason它的格式是啥样的。
08:19
那我怎么去得到这个这份数据呢?我去微信里边去要,即使我认识认识微信这个这个开发部的人,他也不会给我这稍微有一点职业操守和职业道德,你得尊这得尊重一下人家,不不能让人家把他这个公司的一些机密给暴露出来嘛,对吧?那我们就可以通过外部去抓包,去看一下它返回的这个呃,数据包究竟是啥对吧?那我们就可以通过这种工具,我当前系统上的所有请求全部都可以被拦截到,不光是HTTP请求对吧,还有另外就是一些HTTPS的请求。啊,也是可以被抓到的啊,这个想要抓这个HTPS请求呢,你得在这个呃系统当中呢,去装一个这个呃伪的证书啊,像之前我们在这个。
09:06
呃,咱们的这个这个呃,基础篇里边给大家讲这个证书的原理的时候,就是SSLHTPS证书的原理时候呢,我们本机呃的内部呢,不是有一个自己的这个,呃,这个不是我们本机内部啊,它内置了很多这个CA机构的证书来认证你的证书,你你申请的证书对不对,你要用青花瓷想要去破解或者是抓取HTPS包里边的这些信息的话。那你就得。在本机里边装一个这个根证书,装这个呃,青花瓷的根证书,不然这个HTPS请求是看不见的,你看。这就是HTTS,请求大家一个小锁头,你看了吗?然后这个。Content它是呃,我们虽然说能看出来啊,对吧,但是它HTPS呢,它给我们加密了啊,在内部呢,其实是加密的,我们只能看到最终的结果啊,在真正传输的这个过程当中,如果经历了HTPS,我们是抓不到这些APP的这些这个呃,真正返回这个接口数据的,那如果你想要去抓一下别人的接口数据,或者想看看APP它运行的时候呢,它究竟返回来了多少多少这个数据,即使他用HTPS加密了,也可以通过这青花瓷啊把这个给它给呃。
10:20
转译破解成明文啊,其实也不叫破解啊,其实就是伪造证书,它作为中间的这个拦截者了啊,然后拦截请求伪造证书来给我们展示这个具体数据,然后这个是青花瓷的使用啊,以及咱们这个keep live的。呃,效果啊,Keep alive没有的啊,不好意思啊,Keep alive的实际的效果就是每一次请求都会去建立连接,这是在客户端这儿我们的一些配置啊。
我来说两句