【Frida】【Android】 工具篇:ProxyPin抓包详解

🛫 系列文章导航

  • 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950
  • 【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446
  • 【Frida】【Android】03_RPC https://blog.csdn.net/kinghzking/article/details/137050967
  • 【Frida】【Android】04_Objection安装和使用 https://blog.csdn.net/kinghzking/article/details/137071768
  • 【Frida】【Android】05_Objection实战 https://blog.csdn.net/kinghzking/article/details/137071826
  • 【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859
  • 【Frida】【Android】 07_爬虫之网络通信库HttpURLConnection https://blog.csdn.net/kinghzking/article/details/137211973
  • 【Frida】【Android】 08_爬虫之网络通信库okhttp3 https://blog.csdn.net/kinghzking/article/details/137227041
  • 【Frida】【Android】 09_爬虫之Socket https://blog.csdn.net/kinghzking/article/details/137284648
  • 【Frida】【Android】 工具篇:ZenTracer https://blog.csdn.net/kinghzking/article/details/137284648

▒ 目录 ▒

    • 🛫 系列文章导航
    • 🛫 导读
      • 开发环境
    • 1️⃣ ProxyPin介绍
      • 主要特性
      • 工作原理
      • “用户证书”vs“系统证书”
    • 2️⃣ 安裝和使用
      • 安裝
      • 安裝证书
      • 启动HTTPS代理
      • 启动抓包
      • 验证
    • 3️⃣ 竞品介绍
      • reqable
      • HttpCanary(小黄鸟)【不推荐】
    • 🛬 文章小结
    • 📖 参考资料

🛫 导读

开发环境

版本号描述
文章日期2024-03-24
操作系统Win11 - 22H222621.2715
node -vv20.10.0
npm -v10.2.3
夜神模拟器7.0.5.8
Android9
python3.9.9
frida16.2.1
frida-tools12.3.0
objection1.11.0
ProxyPin1.0.9

1️⃣ ProxyPin介绍

ProxyPin是一种基于MITM(中间人攻击)的抓包工具,主要用于移动应用程序的安全测试和调试。下面是关于ProxyPin的详解。

主要特性

  • HTTP/HTTPS抓包:ProxyPin可以拦截并解析HTTP和HTTPS协议下的数据包,包括请求和响应内容。
  • 数据篡改:用户可以在抓包过程中修改请求和响应数据,从而进行相关的安全测试。
  • WebSocket支持:除了HTTP/HTTPS,ProxyPin还支持WebSocket协议的抓包和分析。
  • 脚本扩展:用户可以编写脚本来扩展ProxyPin的功能,实现自定义的数据处理和分析。

工作原理

  • 中间人攻击(MITM):ProxyPin通过将自己伪装成目标服务器与客户端通信,从而使得所有的数据流经ProxyPin,实现抓包和修改数据的目的。
  • SSL/TLS解密:ProxyPin可以解密通过SSL/TLS加密的数据流量,这使得用户可以查看和分析应用程序中的加密通信内容。

ps: 具体原理可以参考系列文章之《【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859》

“用户证书”vs“系统证书”

Android证书分为“用户证书”和“系统证书”两种,在设置->安全->"查看安全证书"列表中,可以看到“系统”和“用户”两个Tab。用户通过浏览器下载安装或者通过WLAN高级设置安装的证书均为用户证书。

安装为系统证书有什么好处呢?

  • 安装用户证书必须要设置开机密码,而且设置后就不能取消,除非先删掉所有的用户证书。如果安装为系统证书就不需要设置开机密码,自动化操作时更方便。

  • Android 7以上版本APP默认不信任用户证书,只信任系统证书,安装为用户证书,对APP的HTTPS抓包会失败。安装为全局证书才能被所有APP信任,方可进行HTTPS抓包。

2️⃣ 安裝和使用

安裝

  • 下载
    从github官网(https://github.com/wanghongenpin/network_proxy_flutter/releases)下载,目前最新是1.0.9,我们使用的是模拟器,所以需要下载ProxyPin-Android.apk
    在这里插入图片描述
  • 安装
    直接拖入模拟器就可以了,打开后如下所示:
    在这里插入图片描述

安裝证书

  • 打开HTTPS代理页面
    如下图,点击右上角三个点,然后点击HTTPS代理
    在这里插入图片描述
    最后将显示如下界面,包含“用户证书”和“系统证书”
    在这里插入图片描述
  • 下载系统证书
    点击上图中的下载系统根证书按钮,在下载页面,将其保存下来即可。
    在这里插入图片描述
  • 安装系统根证书
  1. 打开Amaze
    在这里插入图片描述
  2. 授权超级用户权限
    在这里插入图片描述
  3. 复制系统根证书
    切换到Download目录,选择系统根证书文件,点击复制菜单
    在这里插入图片描述
  4. 拷贝系统根证书
    切换到/system/etc/security/cacerts目录(点击左侧根目录,然后依次选择etc、security、cacerts目录),最后点击如下图的粘贴按钮即可。
    在这里插入图片描述
  5. 授权证书文件
    adb shell连接安卓,然后执行下面命令:
mount -o remount,rw /system
chmod 777 /etc/security/cacerts/*
mount -o remount,ro /system
  1. 验证系统证书
    在设置中,搜索信任的凭据,在系统tab中,可以找到ProxyPin证书,表示安装成功。
    在这里插入图片描述

启动HTTPS代理

回到ProxyPin软件,打开HTTPS代理页面,如下所示开启HTTPS代理
在这里插入图片描述

启动抓包

回到ProxyPin软件主页面,点击右下角“播放”按钮
在这里插入图片描述
在弹出窗口中点击确定
在这里插入图片描述

验证

此时,我们以浏览器,百度页面为例,可以看到已经可以抓到封包了。
在这里插入图片描述

3️⃣ 竞品介绍

Android抓包有很多竞品软件,这里介绍一下大名鼎鼎的“小黄鸟”及其新品reqable。

reqable

reqable是小黄鸟的进阶版,依然不开源,不过有了官网 https://reqable.com/,更靠谱一些了。
支持各个平台,个人感觉该软件比ProxyPin更好用。
下面是部分软件截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HttpCanary(小黄鸟)【不推荐】

抓包的都知道小黄鸟,但是小黄鸟的解锁版版本很多,由于其不开源,网上很多版本是魔改的,有兼容性问题。不过小编多次测试,其依然可用的。

有兴趣的可以直接参考文章:《[Android 分享] 小黄鸟HttpCanary抓包 5个版本 都是解锁版 + 证书安装教程。https://www.52pojie.cn/thread-1592529-1-1.html》,这里不做过多介绍了。

🛬 文章小结

ProxyPin还有很多功能,这里不一一演示了,以后有机会在实战中进行讲解。

  • ProxyPin可以过滤域名和APP,方便抓包使用
  • ProxyPin可以将结果打包成har文件,在chrome中导入,方便分析结果
  • ProxyPin可以重写请求,直接在Android上进行封包修改
  • ProxyPin可以使用脚本,灵活控制封包。

ps: 不要同时开启多个抓包软件,避免冲突

📖 参考资料

  • ProxyPin官网:https://github.com/wanghongenpin/network_proxy_flutter
  • reqable(小黃鸟新名字)官网 https://reqable.com/
  • 添加Fiddler/Mitmproxy证书为安卓系统证书 https://blog.csdn.net/epson615/article/details/120586471
  • objection地址:https://github.com/sensepost/objection

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/796655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSL VPN

1、SSL (Secure Sockets Layer)一种加密的通讯协定,用在使用者与网服器之间 【1】安全套接层 位于传输层和应用层之间,保护应用层的数据(HTTPS(443)=HTTP+TLS) 【2】版本 SSLv2 SSLv3 修改→TLS (Transport Layer Security)安全传输层协议,) 【3】模式 采用…

Vue.js梳理({}语法与指令)

一、原生API vs 函数库 vs 框架 原生API 浏览器/平台已实现的,可直接使用的原生函数 问题:代码繁琐 函数库(library) 基于原生API基础上,进一步封装的,更简化的一组函数的集合 框架(framew…

Linux文件种类、扩展名与目录配置详解

🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、Linux的起源与发展 二、Linux文件种类 1、纯…

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据) 附赠自动驾驶学习资料和量产经验:链接 写在前面 在自动驾驶车辆的使用寿命内,传感器外参校准会因振动、温度和碰撞等环境因素而发生变化。即使是看似…

【leetcode279】完全平方数,动态规划解法

原问题:给定一个非负整数n,如果把它视作一些完全平方数的和,那么最少需要多少个完全平方数? 这次学习到一个热心网友的解法:把问题转化兑换零钱问题,然后使用动态规划求解。 比如,给定 n12, 那…

分布式锁实战

4、分布式锁 4.1 、基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行&#x…

python爬虫学习第十五天-------ajax的get和post请求

嗨嗨嗨!兄弟姐妹大家好哇!今天我们来学习ajax的get和post请求 一、了解ajax Ajax(Asynchronous JavaScript and XML)是一种在 Web 开发中用于创建交互式网页应用程序的技术。通过 Ajax,网页可以在不重新加载整个页面…

【代码随想录】day35

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、860柠檬水找零二、406根据身高重建队列三、452用最少数量的箭引爆气球 一、860柠檬水找零 class Solution { public:bool lemonadeChange(vector<int>&a…

一文解析智慧城市,人工智能技术将成“智”理主要手段

长期以来&#xff0c;有关智慧城市的讨论主要围绕在技术进步方面&#xff0c;如自动化、人工智能、数据的公开以及将更多的传感器嵌入城市以使其更加智能化。实际上&#xff0c;智慧城市是一个关于未来的设想&#xff0c;其重要原因在于城市中存在各种基础设施、政治、地理、财…

操作系统(7分)

进程管理 进程的状态 前趋图 表达哪些任务可以先运行&#xff0c;任务间运行的先后顺序。 进程的同步与互斥 在多道程序环境下&#xff0c;操作系统必须采取相应措施处理好进程之间的制约关系。进程同步的主要任务是对多个有制约关系的进程在执行次序上进行协调&#xff0c;…

插入电脑的u盘文件删除了怎么恢复?删除文件恢复的5个方法

随着科技的发展&#xff0c;U盘已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;使用U盘时&#xff0c;有时我们可能会不小心删除一些重要的文件&#xff0c;这可能会给我们带来很大的困扰。那么&#xff0c;当U盘中的文件被删除后&#xff0c;我们该如何恢复呢&…

Spark编程基础

一、RDD入门 1.RDD是什么&#xff1f; RDD是一个容错的、只读的、可进行并行操作的数据结构&#xff0c;是一个分布在集群各个节点中的存放元素的集合&#xff0c;即弹性分布式数据集。 2.RDD的三种创建方式 第一种是将程序中已存在的集合&#xff08;如集合、列表、数组&a…

批量导入svg文件作为图标使用(vue3)vite-plugin-svg-icons插件的具体应用

目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中&#xff0c;需要批量导入某个文件夹内数量不确定的svg文件用来作为图标&#xff0c;开发完成后能够通过增减文件夹内的svg文件&a…

Day4-Hive直播行业基础笔试题

Hive笔试题实战 短视频 题目一&#xff1a;计算各个视频的平均完播率 有用户-视频互动表tb_user_video_log&#xff1a; id uid video_id start_time end_time if_follow if_like if_retweet comment_id 1 101 2001 2021-10-01 10:00:00 2021-10-01 10:00:30 …

OSPF基础实验

一、实验拓扑 二、实验要求 1、按照图示配置IP地址 2、R1&#xff0c;R2&#xff0c;R3运行OSPF使内网互通&#xff0c;所有接口&#xff08;公网接口除外&#xff09;全部宣告进 Area 0&#xff1b;要求使用环回口作为Router-id 3、业务网段不允许出现协议报文 4、R4模拟互…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频&#xff1a;https://www.bilibili.com/video/BV1mZ4y1D7K…

ARM、X86、RISC-V三分天下

引入&#xff1a; 简单的介绍一下X86、ARM、RISC-V三种cpu架构的区别和应用场景。 目录 简单概念讲解 1. X86架构 2. ARM架构 3. RISC-V架构 应用场景 X86、ARM和RISC-V是三种不同的CPU架构&#xff0c;它们在设计理念、指令集和应用场景上有一些区别。 简单概念讲解 1. X…

【华为OD机试】运维日志排序(JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…

Git的学习,从入门到入土

Git常用命令 Git全局设置 安装完Git后&#xff0c;要先设置用户名称和email地址。因为每次Git提交都会使用该用户信息。 设置用户信息 git config --global user.name “……” git config --global user.email “……” 查看配置信息 git config --list 获取Git仓库 要使…

特征工程(I)--探索性数据分析

有这么一句话在业界广泛流传&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。由此可见&#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中&#xff0c;可以说特征工程是机器学习成功的关键。 特征工程是数据分析…