python爬虫入门02:教你经过 Fiddler 进行手机抓包

本文首发于公众号:学习python的正确姿式,微信搜索fxxkpython关注python

转载请注明网站:学习python的正确姿式 浏览器

 

哟~哟~哟~缓存

 

hi起来服务器

 

everybody微信

 

 

640?wx_fmt.gif

 

今天要说说怎么在咱们的手机抓包python爬虫

 

经过工具

 

python爬虫入门01:教你在Chrome浏览器轻松抓包学习

 

 

咱们知道了 HTTP 的请求方式开发工具

 

以及在 Chrome 中摸清了一些套路网站

 

可是

 

除了对数据进行解析以外

 

有时候咱们想

 

对请求的数据或者响应的数据进行篡改

 

怎么作呢?

 

咱们常常在用的手机

 

手机里面的数据

 

怎么对它抓包呢?

 

那么...

 

接下来就是学习 python 的正确姿式

 

640?wx_fmt.jpeg

 

咱们要用到一款强大免费的抓包工具

 

Fiddler

你能够到

 

https://www.telerik.com/download/fiddler

 

去下载

 

若是你以为麻烦

 

不要紧

 

小帅b已经帮你们下载好了

 

直接在公众号发送

 

抓包

 

就能够直接获取 Fiddler 

 

那么 Fiddler 是怎么玩的呢?

 

通常状况下

 

咱们经过浏览器来请求服务器的时候

 

是点对点的

 

我来给你们画个图

 

640?wx_fmt.png

正常状况下

 

浏览器给服务器发送请求

 

服务器响应返回数据

 

可是这个时候

 

Fiddler非要来这里插一脚

 

640?wx_fmt.jpeg

 

 

而后

 

就变成这样了

 

640?wx_fmt.png

 

Chrome发送请求给服务器的时候

 

会被 Fiddler 拦截下来

 

能够在这里修改请求参数什么的

 

而后 Fiddler 伪装本身是浏览器

 

再发送数据给服务器

 

640?wx_fmt.jpeg

 

这个时候服务器接收到 Fiddler 的请求

 

仍是天真的觉得是 Chrome 发送的

 

因而就返回数据了

 

没想到在半路杀出个程咬金

 

返回的数据又被 Fiddler 拦截下来了

 

640?wx_fmt.gif

 

Fiddler 能够在这个时候

 

对数据进行修改

 

而后在返回给 Chrome

 

这就是 Fiddler 的主要使命

 

640?wx_fmt.jpeg

 

 

好了

 

知道了 Fiddler 的具体工做原理以后

 

我们就能操做一番

 

安装完以后在电脑打开 Fiddler

 

通常状况下

 

咱们按下 F12

 

就能够抓取咱们在浏览器的请求了

 

640?wx_fmt.jpeg

 

 

若是这个时候你在浏览器发送请求

 

可是 Fiddler 没有一丁点反应

 

那么能够在你的浏览器配置一下代理

 

Fiddler 的默认代理 IP 为

 

127.0.0.1

 

端口为

 

8888

 

就拿 Chrome 浏览器为例

 

打开

 

设置-->高级-->打开代理设置

 

进行设置上面的 ip 地址和端口就能够了

 

这时候你在浏览器访问网站

 

在 Fiddler 就能够抓取到你的请求了

 

640?wx_fmt.gif

 

不过...

 

先别高兴太早

 

你可能会发现不少这样的错误

 

Tunnel to 443

 

 

由于如今不少请求都是 HTTPS

 

因此咱们须要安装证书

 

才能够抓取 https 的请求

 

那么咋整咧?

 

 

点击菜单 

 

Tools->Options 

 

接着选择

 

 HTTPS 

 

勾上

 

Decrypt HTTPS traffic

 

640?wx_fmt.png

 

 

勾完以后呢

 

有没看到右上角有个 Actions 按钮

 

轻轻按一下

 

选择

 

 Reset All Certificates

 

完事以后

 

回到你的浏览器输入

 

localhost:8888

 

能够看到一个这样子的页面

 

640?wx_fmt.png

点击 FiddlerRoot_certificate 下载证书

 

安装完以后再打开 Fiddler

 

你会发现你能够抓取 Https 的请求了

 

640?wx_fmt.png

 

那么

 

各栏之间都表明啥意思呢

 

左边表明的就是你的请求

 

Result : 请求的 HTTP(s) 状态吗
Protocol : 请求协议
HOST : 请求的主机名
URL : 请求的资源目录位置
Body : 请求大小
Caching : 请求的缓存
Content-Type : 服务器响应的实体类型
Process : 是谁(进程)发送的
Comments : 备注
Custom : 自定义

 

 

当咱们点击某一条请求后

 

在右边的 Insepector 中就能够看到具体的请求和返回信息内容了

 

640?wx_fmt.png

 

说到这里

 

你会发现

 

这他妈的不就和上次讲的 Chrome 的开发工具面板差很少么

 

稍安勿躁

 

接下来就说说怎么来配置手机

 

使用 Fiddler 来抓取咱们手机上的数据

 

在你的 Fiddler 中

 

像如下设置

 

640?wx_fmt.png

 

接着 

 

让你如今的这台电脑

 

和你的手机都连在同一个 wifi 下

 

接着

 

查看你电脑的 ip 地址

 

640?wx_fmt.png

 

在你的手机上

 

打开你链接的 wifi

 

设置 http 代理服务器和端口

 

这里的服务器地址就是你刚找到的 IPv4 地址

 

端口 8888

 

640?wx_fmt.png

 

 

紧接着

 

手机打开浏览器输入你的 IPv4 地址和端口

 

下载安装证书

 

640?wx_fmt.png

 

 

安装完以后呢

 

Android手机这样通常就能够用了

 

iPhone的话

 

还要受权一下

 

在你手机的

 

 设置-->通用-->关于本机-->证书信任设置-->把刚刚下载的证书打上勾

 

640?wx_fmt.png

 

 

ok

 

搞定

 

你手机的全部访问均可以用Fiddler来抓包了

 

我如今就在个人手机上

 

打开微信和网易云音乐

 

能够看到我电脑上的 Fiddler

 

抓取到了!!

 

640?wx_fmt.png

 

640?wx_fmt.gif

 

既然都抓到数据了

 

那么接下里就来点骚操做吧

 

使用 Fiddler 来修改一下咱们的请求和返回数据

 

应该很好玩!

 

咱们来玩玩 b 站吧

 

手机打开bilibili

 

640?wx_fmt.png

 

 

这时候咱们能够在 Fiddler 设置过滤

 

咱们就针对 b 站的请求

 

640?wx_fmt.png

 

而后咱们在 Fiddler 按一下

 

ALT+F11

 

按完以后呢

 

全部服务器的返回都会被 Fiddler 拦截

 

ok

 

接下来

 

好比我要看 b 站的热门内容

 

那么咱们点击这个 热门 的tab

 

640?wx_fmt.jpeg

 

 

能够看到

 

Fiddler 拦截了

 

640?wx_fmt.png

 

咱们点击这个请求

 

而后点击右边的 Inspectors

 

这时候能够看到 b 站服务器给咱们返回了热门内容

 

640?wx_fmt.png

640?wx_fmt.png

也就是在这个时候

 

咱们来篡改一下这些数据

 

让咱们改的数据显示到手机上

 

那就把第一个视频的标题改了吧

 

改为

 

小帅b太帅了!!

 

640?wx_fmt.png

 

640?wx_fmt.jpeg

 

改完以后呢

 

640?wx_fmt.png

 

咱们点击 Run to Completion

 

也就是将咱们的数据发给手机

 

那么这个时候

 

看看咱们的手机吧

 

640?wx_fmt.png

 

 

oh

 

很差意思

 

小帅b成为b站热门第一了!

 

哈哈哈

 

 

ok

 

以上咱们演示的是返回数据的拦截

 

那么对于请求时的拦截

 

快捷键是 F11

 

相信你也知道怎么玩了!

 

(完)

 

 

640?wx_fmt.gif

 

快来加入 Pythonner 的汇集地

 

640

 

 

 

 

 

640?wx_fmt.jpeg