先讲解一下思路,是利用mitmproxy代理https协议,从而判定抖音个人信息接口,在个人信息接口的返回体接收时将用户信息数据,以及Header头(主要是Cookie),Query体(包含设备ID)进行远程存储,用于请求后续其他接口,从而实现抖音设备登录授权,这个方法只有初次设备需要安装证书这块比较复杂,后续只要连接某个WIFI设置好代理地址就可以授权登录了,抖音每次账号登录态持续时间较长,不易出现掉登的问题,所以能够在账号较多以及,掉登后重登让业务人员也能够自行登录,避免开发人员每次去抓包更新登录态的问题。

1.什么是mitmproxy?

用官网的简单介绍:mitmproxy是一个免费开源的交互式HTTPS代理。

简单理解一下就是类似Fiddler、Charles的一个抓包工具,但是不同的是mitmproxy是可编程的,可以根据提供的Python API可进行编程,在代理中加入自己的业务逻辑代码,并且能够篡改转发返回以及请求体。

官网地址:https://www.mitmproxy.org/

2.安装mitmproxy

安装官方文档针对环境需求进行安装,我这里采用pip安装,只需要执行sudo pip3 install mitmproxy命令即可,你也可以选择通过其他方式进行安装。

3.运行mitmproxy

在命令行中运行mitmdump出现以下信息则运行成功

Proxy server listening at http://*:8080

手机连接代理
1.连接手机WIFI(测试阶段需要连接统一局域网WIFI),随后点击红圈处进行代理设置

2.点击代理选择手动输入以下信息
主机名: 这里输入运行`mitmdump`服务的局域网IP|线上环境则为外网IP
端口:8080(默认端口)
然后点击右上角√保存

3.查看代理是否成功

手机上点击或者访问http网站,看到一下信息则表示代理成功



但是随后依旧会发现会出现大量的



这个情况是因为目前只是成功代理了HTTP协议而HTTPS协议还需要安装证书信任才能正常代理,之前有用过Fiddler、Charles之类的童鞋应该是知道的。

4.安装HTTPS信任证书

首先需要注意一点,IOS设备可以直接安装证书,而安卓手机7.0以下才能直接安装证书而7.0+则需要ROOT将证书注入到系统中才能正常进行代理。

IOS:

4-1-1.用手机自带浏览器 输入mitm.it 访问网站。

4-1-2.选择Apple,允许配置描述文件的下载。

4-1-3.IOS设备进入手机设置-通用-描述文件-找到mitmproxy 点击安装。

4-1-4.IOS设备进入手机设置-通用-关于本机-证书信任设置 打开mitmproxy



安卓:

这里以7.0+设备为例,因为7.0以下流程与IOS基本相同,只需要下载安装即可,默认信任 不用信任设置。

当前采用的是 红米 5 Plus,开发版系统(默认ROOT)

安装教程:https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/

5.查看HTTPS代理是否成功

杀死抖音进程,重启抖音App点击菜单中的 “我”



查看控制台可以发现用户信息接口已经代理成功(目前抖音版本搜索/user/profile/self/)

目前已经完成了mitmproxy整个代理流程,后续将讲解如何进行编程完成用户信息相关数据存储,用于后续接口使用。

下一章:利用mitmproxy实现抖音Cookie,设备ID获取(二)

利用mitmproxy实现抖音Cookie,设备ID获取(一)的更多相关文章

  1. 利用抖音Cookie充值接口提取支付链接,个人调起原生微信h5支付宝h5支付

    最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本. 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了. 这次要分享的是利用抖音的充值接口,去分 ...

  2. Python爬虫-抖音小视频-mitmproxy与Appium

    目的:  爬取抖音小视频 工具:  mitmproxy.Appium 思路: 1.  通过 mitmproxy 截取请求, 找出 response 为 video 的请求. 2.  通过 mitmdu ...

  3. 抖音抖一抖-SVG和CSS视觉故障艺术小赏

    故障艺术,英文名称叫glitch,在很多赛博朋克作品中经常看到,其实就是故意表现一种显示设备的小故障效果,抖音的图标其实就是这种的效果,我们看下这个图标 这个图标中的红色和蓝色的偏移其实就是一种故障艺 ...

  4. python 手机App数据抓取实战二抖音用户的抓取

    前言 什么?你问我国庆七天假期干了什么?说出来你可能不信,我爬取了cxk坤坤的抖音粉丝数据,我也不知道我为什么这么无聊. 本文主要记录如何使用appium自动化工具实现抖音App模拟滑动,然后分析数据 ...

  5. 教你用python爬取抖音app视频

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...

  6. 刷抖音太累,教你用Python把高颜值的小姐姐都爬下来慢慢看

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果.AirPython 目 标 场 景 相信大家平时刷抖音短视频 ...

  7. 基于vue+uniapp直播项目|uni-app仿抖音/陌陌直播室

    一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...

  8. JavaWeb-SpringBoot(抖音)_一、抖音项目制作

    JavaWeb-SpringBoot(抖音)_一.抖音项目制作 传送门 JavaWeb-SpringBoot(抖音)_二.服务器间通讯 传送门 JavaWeb-SpringBoot(抖音)_三.抖音项 ...

  9. PHP根据抖音的分享链接来抓包抖音视频

    现在抖音是个很火的短视频平台,上面有许多不错的小视频.今天教大家怎么用PHP技术来获取到抖音上的的内容. 1:打开抖音选中你认为好的视频点击分享,复制链接,然后你会获取到如下的内容: #科比 愿你去的 ...

随机推荐

  1. 一个排查了大半天儿的问题,差点又让 MyBatis 背锅

    我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完 ...

  2. React实践:自定义html特性不显示

    发现React中自定义的html特性在render后是不现实,而且getAttribute方法也只能获取到undefined. 后来去stackoverflow提问,网友回答说: It depends ...

  3. JetBrains PyCharm 2018.2.4 x64 工具里如何安装bs4

    第一步:点击File->Settings 第二步:选择Project:workplace-->Project Interpreter,然后再点击右上角的"+"按钮进入下 ...

  4. mybatis随记

    JDBC问题:1.数据库配置信息硬编码 2.频繁创建,释放数据库连接 3.sql,设置参数,获取结果集硬编码,不通用   解决方案:1.配置文件 2.采用连接池 3.使用反射和内省   自定义持久层框 ...

  5. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)

    好吧,这个题目我也想了很久,不知道如何用最简单的几个字来概括这篇文章,原本打算取名<Angular单页面应用基于Ocelot API网关与IdentityServer4+ASP.NET Iden ...

  6. get_client_ip()

    get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_cl ...

  7. 【JUC】阻塞队列&生产者和消费者

    阻塞队列 线程1往阻塞队列添加元素[生产者] 线程2从阻塞队列取出元素[消费者] 当队列空时,获取元素的操作会被阻塞 当队列满时,添加元素的操作会被阻塞 阻塞队列的优势:在多线程领域,发生阻塞时,线程 ...

  8. 【JavaScript数据结构系列】03-队列Queue

    [JavaScript数据结构系列]03-队列Queue 码路工人 CoderMonkey 转载请注明作者与出处 1. 认识队列Queue结构 队列,跟我们的日常生活非常贴近,我们前面举例了食堂排队打 ...

  9. # # # Vue的分环境打包

    我们使用Vue-cli的默认环境是只有dev和prod两种环境,在开发中我们的项目一般是开发版.测试版.pre版.Prod版.我们一般是在源码中API地址中修改后然后打包. ###1.首先安装cros ...

  10. MySQL8.0 忘记密码、重置密码

    修改my.cnf [mysqld] 域中添加skip-grant-tables 重启mysqld服务 systemctl restart mysqld 重新使用空密码登录,直接敲回车 mysql -u ...