Fiddler+逍遥模拟器抓包显示tunnel to无法抓包的解决方法

2023-10-17 16:21

本文主要是介绍Fiddler+逍遥模拟器抓包显示tunnel to无法抓包的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:fiddler配置了证书可以抓取浏览器等的https,但是无法抓取模拟器中app的https,报错tunnel to 443

本文相关资源打包:链接: https://pan.baidu.com/s/1W0OdBFwMYefyL8UladxMmA?pwd=pssm 提取码: pssm

1.安装OpenSSL

下载便携式安装包:https://slproweb.com/products/Win32OpenSSL.html
如果不放心第三方的也可以打开官网去下载安装,官网地址
我这里用的第三方的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载下来一直下一步安时就好,到了最后一步是给作者捐赠¥10,有条件的可以支持一下,没有的取消勾选就可以了。

安装完成后配置环境变量
在这里插入图片描述
在这里插入图片描述
查看安装完成

openssl

在这里插入图片描述

2.安装adb

在这里插入图片描述

直接解压配置环境变量
在这里插入图片描述

配置环境变量
在这里插入图片描述
在这里插入图片描述
查看安装完成

adb --version

在这里插入图片描述

3.模拟器安装Fiddler证书

导出Fiddler的CA证书
在这里插入图片描述
导出的文件:FiddlerRoot.cer 留着备用
在这里插入图片描述
根据上面的FiddlerRoot.cer文件生成 pem
在证书所在位置打开cmd命令窗口
在这里插入图片描述
输入下面的命令将会生成一个fiddler.pem文件

openssl x509 -inform der -in FiddlerRoot.cer -out fiddler.pem

在这里插入图片描述获取证书的hash

openssl x509 -subject_hash_old -in fiddler.pem

在这里插入图片描述
将 fiddler.pem 文件名更改为上面查到的hash.0,我的是e5c3944b,更改后的文件名为e5c3944b.0
在这里插入图片描述
这个hash值的证书文件需要安装到模拟器手机上
在逍遥模拟器的启动目录下打开cmd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接逍遥模拟器(21503是逍遥模拟器的端口,其他模拟器可能有所不同)

adb connect 127.0.0.1:21503

在这里插入图片描述
判断是否开启root权限,输入

adb root

在这里插入图片描述
开启写入模式

adb remount

在这里插入图片描述
然后发送证书文件到 /system/etc/security/cacerts/ 目录下
我的证书在本机位置:F:/e5c3944b.0 你们替换为自己的路径

adb push  F:/e5c3944b.0  /system/etc/security/cacerts/

在这里插入图片描述
发送成功,如果文件发送失败报错只读就看下文件的权限是否分配
在这里插入图片描述

4.模拟器安装Xposed和JustTrustMe

在这里插入图片描述
Xposed安装完成如下图,
在这里插入图片描述

JustTrustMe安装完成没有相关apk但是在Xposed的模块中可以看到
在这里插入图片描述
这里安装的Xposed不能用需要下载相关框架
在这里插入图片描述

5.xp框架安装

B站大佬安装视频
这里安装xp需要根据自己模拟器的安卓对应版本去下载
安卓版本对应的安装器对照表:
在这里插入图片描述
对应的xp下载地址: https://pan.baidu.com/s/1B6jd4zoYZ2PegUo-1ISPGw?pwd=2hgs 提取码: 2hgs

在这里插入图片描述
我这里对应的是:xposed-v88-sdk25-x86.zip
在这里插入图片描述
下载完成后再下载一个script.txt文件
下载地址:https://xdaforums.com/attachments/script.txt.4489568/
创建一个xposed文件夹将xposed-v88-sdk25-x86.zip 文件和script.txt放进来
在这里插入图片描述
script.txt文件后缀名txt更改为sh
在这里插入图片描述
xposed-v88-sdk25-x86.zip文件解压,完成后把压缩包删掉
在这里插入图片描述
在逍遥模拟器的启动目录下打开cmd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接逍遥模拟器(21503是逍遥模拟器的端口,其他模拟器可能有所不同)

adb connect 127.0.0.1:21503

在这里插入图片描述
判断是否开启root权限,输入

adb root

在这里插入图片描述
开启写入模式

adb remount

在这里插入图片描述

将准备好的xposed文件夹发送到 模拟器的 system下,我的xposed文件在桌面上,你们自行更换自己文件所在路径
在这里插入图片描述

adb push G:/桌面/xposed   /system

在这里插入图片描述

adb shell
su

在这里插入图片描述

cd system
mount -o remount -w /system

在这里插入图片描述

cd xposed/

运行 script.sh 文件

sh script.sh

结果发现没有这个文件
在这里插入图片描述
查看目录下的文件:

ls

在这里插入图片描述
发现文件名称为 memu-script.sh ,这里有的人是script.sh ,运行script.sh也行
运行 memu-script.sh

 sh memu-script.sh

在这里插入图片描述
运行成功,这里的xp框架安装完成,完成后先保留cmd黑窗口一会还得用
重启逍遥模拟器,打开xposed
在这里插入图片描述
这里的显示版本激活成功
在这里插入图片描述
打开左侧的模块将JustTrustMe勾选上

在这里插入图片描述
这里XP相关就完成了,重启模拟器打开Fiddler进行抓包发现成功了

这篇关于Fiddler+逍遥模拟器抓包显示tunnel to无法抓包的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/226568

相关文章

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Swagger在java中的运用及常见问题解决

《Swagger在java中的运用及常见问题解决》Swagger插件是一款深受Java开发者喜爱的工具,它在前后端分离的开发模式下发挥着重要作用,:本文主要介绍Swagger在java中的运用及常... 目录前言1. Swagger 的主要功能1.1 交互式 API 文档1.2 客户端 SDK 生成1.3

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4