美文网首页码农的世界程序员
Python爬虫入门技能:教你通过 Fiddler 进行手机抓包

Python爬虫入门技能:教你通过 Fiddler 进行手机抓包

作者: b4a0155c6514 | 来源:发表于2019-01-25 13:44 被阅读20次

    哟~

    hi起来

    everybody

    image

    今天要说说怎么在我们的手机抓包

    学习Python中有不明白推荐加入交流群

    号:864573496群里有志同道合的小伙伴

    ,互帮互助,群里有不错的视频学习教程

    和PDF!每晚8:00群里直播

    我们知道了 HTTP 的请求方式

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

    但是

    除了对数据进行解析之外

    有时候我们想

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

    怎么做呢?

    我们经常在用的手机

    手机里面的数据

    怎么对它抓包呢?

    那么...

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

    image

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

    Fiddler

    你可以到

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

    去下载

    如果你觉得麻烦

    没关系

    小帅b已经帮大家下载好了

    直接在公众号发送

    抓包

    就可以直接获取 Fiddler 啦

    那么 Fiddler 是怎么玩的呢?

    一般情况下

    我们通过浏览器来请求服务器的时候

    是点对点的

    我来给大家画个图

    image

    正常情况下

    浏览器给服务器发送请求

    服务器响应返回数据

    但是这个时候

    Fiddler非要来这里插一脚

    image

    然后

    就变成这样了

    image

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

    会被 Fiddler 拦截下来

    可以在这里修改请求参数什么的

    然后 Fiddler 假装自己是浏览器

    再发送数据给服务器

    image

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

    还是天真的以为是 Chrome 发送的

    于是就返回数据了

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

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

    image

    Fiddler 可以在这个时候

    对数据进行修改

    然后在返回给 Chrome

    这就是 Fiddler 的主要使命

    image

    好了

    知道了 Fiddler 的具体工作原理之后

    咱们就能操作一番

    安装完之后在电脑打开 Fiddler

    一般情况下

    我们按下 F12

    就可以抓取我们在浏览器的请求了

    image

    如果这个时候你在浏览器发送请求

    但是 Fiddler 没有一丁点反应

    那么可以在你的浏览器配置一下代理

    Fiddler 的默认代理 IP 为

    127.0.0.1

    端口为

    8888

    就拿 Chrome 浏览器为例

    打开

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

    进行设置上面的 ip 地址和端口就可以了

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

    在 Fiddler 就可以抓取到你的请求了

    image

    不过...

    先别高兴太早

    你可能会发现很多这样的错误

    Tunnel to 443

    因为现在很多请求都是 **HTTPS **了

    所以我们需要安装证书

    才可以抓取 https 的请求

    那么咋整咧?

    点击菜单

    Tools->Options

    接着选择

    HTTPS

    勾上

    Decrypt HTTPS traffic

    image

    勾完之后呢

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

    轻轻按一下

    选择

    Reset All Certificates

    完事之后

    回到你的浏览器输入

    localhost:8888

    可以看到一个这样子的页面

    image

    点击 FiddlerRoot_certificate 下载证书

    安装完之后再打开 Fiddler

    你会发现你可以抓取 Https 的请求了

    image

    那么

    各栏之间都代表啥意思呢

    左边代表的就是你的请求

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

    当我们点击某一条请求后

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

    image

    说到这里

    你会发现

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

    稍安勿躁

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

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

    在你的 Fiddler 中

    像以下设置

    image

    接着

    让你现在的这台电脑

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

    接着

    查看你电脑的 ip 地址

    image

    在你的手机上

    打开你连接的 wifi

    设置 http 代理服务器和端口

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

    端口 8888

    image

    紧接着

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

    下载安装证书

    image

    安装完之后呢

    Android手机这样一般就可以用了

    iPhone的话

    还要授权一下

    在你手机的

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

    image

    ok

    搞定

    你手机的所有访问都可以用Fiddler来抓包了

    我现在就在我的手机上

    打开微信和网易云音乐

    可以看到我电脑上的 Fiddler

    抓取到了!!

    image image

    既然都抓到数据了

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

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

    应该很好玩!

    我们来玩玩 b 站吧

    手机打开bilibili

    image

    这时候我们可以在 Fiddler 设置过滤

    我们就针对 b 站的请求

    image

    然后我们在 Fiddler 按一下

    ALT+F11

    按完之后呢

    所有服务器的返回都会被 Fiddler 拦截

    ok

    接下来

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

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

    image

    可以看到

    Fiddler 拦截了

    image

    我们点击这个请求

    然后点击右边的 Inspectors

    这时候可以看到 b 站服务器给我们返回了热门内容

    image image

    也就是在这个时候

    我们来篡改一下这些数据

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

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

    改成

    小帅b太帅了!!

    image image

    改完之后呢

    image

    我们点击 Run to Completion

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

    那么这个时候

    看看我们的手机吧

    image

    oh

    不好意思

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

    哈哈哈

    ok

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

    那么对于请求时的拦截

    快捷键是** F11**

    相信你也知道怎么玩了!

    (完)

    image

    相关文章

      网友评论

        本文标题:Python爬虫入门技能:教你通过 Fiddler 进行手机抓包

        本文链接:https://www.haomeiwen.com/subject/rhmmjqtx.html