(亲测可行)charles抓包夜神模拟器保姆级教程
前言
作为it人员,无论是为了测试,还是为了一些研究,抓包必不可免。夜神模拟器配合charles无疑是不错的选择。
下面教程是本人通过网上大量资料进行实践,亲自实验后,完全没问题整理出来的最新教程,基本踩过的坑都提及了,细节满满,实属抓包教程的干货。
全文从0开始配置夜神模拟器通过charles抓包的全过程,也解决了安卓7安装了证书还是不受信任的问题,教大家如何把证书安装到系统的CA证书里。
一、安装charles和夜神模拟器
1、安装charles
1、建议安装使用最新版,官方下载地址 https://www.charlesproxy.com/download
2、安装完成之后,有试用时间,不想试用查看: 完整教程
2、安装夜神模拟器
略,自行百度搜索夜神模拟器进行下载。
本文下载地址到:D:\software\Nox (后面教程会提及,到时候替换为自己的夜神模拟器地址即可)
二、配置环境
开启Charles http代理
设置Charles代理。如果只是抓取手机端APP网络请求,可以将此前设置的电脑代理勾去掉(每次启动Charles都是默认开启的)
激活http代理功能。进入Proxy->Proxy Setting,设置http proxy代理端口:8888(一般默认设置为这个)
设置SSL代理:
Proxy–> SSL Proxying Setting–> Enable SSL Proxying -->Add。https访问的端口号都是443。在弹出的表单中Host填写域名,Port填443,*表示所有域名‘。
电脑防火墙设置:
设置允许Charles通过防火墙。
三、charles证书导入到夜神模拟器
1、安装证书
主要步骤:
1、选择“本地计算机”,点击下一步;
2、点击浏览按钮,弹出选择证书存储界面,并选择受信任的根证书颁发机构,点击下一步;
3、完成。
2、证书下载下来,为第四步做准备
下载目录:(第五步会用到)
F:\Documents\charles\charles4.6.1.cer
四、手机端Wifi添加代理
1、找到宿主机的ip地址
手机与电脑连接同一网段的wifi,进入wifi连接设置,设置代理为手动,填写主机名与端口号,
主机名可以打开charles,获取IP地址,端口号为第二步中设置的端口号。
2、在夜神模拟器 设置->WLAN,找到wifi,长按点击“修改网络”,将ip和port设置进去。
3、手机浏览器打开,输入地址:http://chls.pro/ssl ,进行证书安装下载。
安卓7.0版本前,到这一步就可以了,但安卓7.0版本之后的版本,还需要进行第五步。
五、Android 7.0 之后抓取HTTPS数据出现unknown 和证书无效的解决方案
原因:Android7.0 之后默认不信任用户添加到系统的CA证书
解决办法:
1、将抓包软件的证书安装成系统证书(手机需要ROOT)
系统证书目录:/system/etc/security/cacerts/
其中的每个证书的命名规则如下:
<Certificate_Hash>.<Number>
文件名是一个Hash值,而后缀是一个数字。
文件名可以用下面的命令计算出来:
openssl x509 -subject_hash_old -in <Certificate_File>
后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1
2、下载Charles证书到电脑上,文件格式为.pem文件
1、安装opensll命令
Linux系统下可以之间使用openssl 命令
window系统需要使用工具才能执行openssl命令
window下载地址:https://slproweb.com/products/Win32OpenSSL.html
下载之后之间解压,然后配置一下环境变量path就可以用了。
2、获得证书的Hash值
#到证书目录
cd F:\Documents\charles
#cer证书转.pem证书
openssl x509 -inform der -in charles4.6.1.cer -out F:\Documents\charles\charles.pem#得到hash值
openssl x509 -subject\_hash\_old -in F:\Documents\charles\charles.pem
#执行完之后得到证书的Hash : dc32344a.0#然后把证书名由Charles.pem更换为dc32344a.0
#目录 F:\Documents\charles\dc32344a.0
3、把证书安装到手机系统证书目录下(手机需要root)
执行以下adb命令:
#转到夜神模拟器安装目录的bin目录里
cd D:\software\Nox\bin
#查看是否多设备
adb devices
#如果有多设备。如下:则后面命令都带上 -s 127.0.0.1:62001
## List of devices attached
## 127.0.0.1:62001 device
## emulator-5564 host
## emulator-5562 host
## emulator-5560 host
## emulator-5556 host# 判断是否有root权限命令:nox_adb.exe root,没有root权限 给模拟器勾选上root,重启模拟器即可
adb -s 127.0.0.1:62001 root
adb -s 127.0.0.1:62001 disable-verity
adb -s 127.0.0.1:62001 reboot
adb -s 127.0.0.1:62001 root
adb -s 127.0.0.1:62001 remount
adb -s 127.0.0.1:62001 push F:\Documents\charles\dc32344a.0 /system/etc/security/cacerts/
打开设置——安全——信任的凭据——用户,有charles证书,代表证书安装至系统证书成功。
参考
夜神模拟器安装证书后无效问题解决_MHSLZ1的博客-CSDN博客_夜神模拟器该网站的安全证书有问题
(4条消息) 踩坑无数后的最全的charles抓包app安装教程_sweeeeeet的博客-CSDN博客_charles抓app包教程
(4条消息) Charles的证书安装与配置_w1990end的博客-CSDN博客_charles证书安装
Charles抓包工具 + (夜神)安卓模拟器实现代理抓包,最详细教程_length_的博客-CSDN博客_charles夜神模拟器抓包
(亲测可行)charles抓包夜神模拟器保姆级教程相关推荐
- 微信小程序抓包反编译保姆级教程
文章目录 1.基本采集流程 2.采集流程 2.1 抓包 2.1.1 抓包背景介绍 2.1.2 使用工具 2.1.3 具体抓包流程 2.2 wxapkg包获取 2.2.1 wxapkg包获取背景介绍 2 ...
- Charles 抓包夜神模拟器,实现对App网络请求的监控
移动端的开发相对于Web开发,有一个很大的缺陷就是看不到网络请求.Web端开发,可以在控制台轻松看到所有的网络请求,测试人员能轻松看出来接口是否有问题.但是移动端就比较麻烦,需要代理网络请求进行抓包, ...
- Burpsuite抓包夜神模拟器
主要记录一下通过Burpsuite来对夜神模拟器模拟(安卓)进行抓包的配置过程. 前置条件 手机获得root权限,且进入开发者模式 不知道是不是我这里的个例,夜神模拟器默认的root权限没法抓取流量, ...
- Burp Suite抓包夜神模拟器与安装证书完整版!(APP渗透测试)
burp抓夜神模拟器包,用来做APP渗透测试等.(其他的模拟器也是这样) 看网上的都比较乱,就自己写一个吧. 一.下载夜神模拟器和burp 夜神官网:https://www.yeshen.com/ b ...
- 使用Charles抓包安卓模拟器(MuMu)
在进行app爬虫的时候,由于app没有浏览器这种可以直观看到后台请求的工具,所以要想获取该请求,往往是通过一些抓包软件抓取数据. Charles是一个网络抓包工具,相比Fiddler,其 ...
- Fiddler抓包夜神模拟器
安卓手机 Android7 版本之后,手机默认不信任用户证书,即使在手机上安装了 fiddler 证书也不会生效,所以我们就需要吧 fiddler 证书安装到系统证书中. 前提: 一.需要的安装的软件 ...
- Fiddler 抓包夜神模拟器图文详解
达到如下效果 1.配置Fiddler 端口8888,允许远程计算机连接(这部其实连wifi的,博主之前百度到有这么一步,你们可以按着配置,发现这部多余可以后面点掉) 记得重启Fiddler!!!!!! ...
- Charles抓包的使用步骤
Charles使用步骤 1.安装Charles Mac版下载链接: 链接:https://pan.baidu.com/s/1ifhZi_uvitdG3aqru-RNtw 密码:spgz 2.配置Cha ...
- Charles抓包工具 + (夜神)安卓模拟器实现代理抓包,最详细教程
Charles抓包工具 + (夜神)安卓模拟器实现代理抓包 前置条件 :电脑和模拟器使用同一个网络没用Charles之前 :后端菜鸡 : 嘿嘿嘿(及其可怜,卑微,弱小) , 安卓大佬帮我查下这个功能接 ...
最新文章
- oracle19c数据库清理,Oracle 19c集群重装
- iOS开发之使用CocoaPods更新第三方出现“target overrides the `OTHER_LDFLAGS`……”问题解决方案
- java非阻塞 串口读数据_串口阻塞与非阻塞
- 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
- linux串口配置详解
- linux是用于汇编语言,深入理解程序设计:使用Linux汇编语言
- JS/JQUERY函数库
- worldwind系列教程
- ENVI4.8下载与安装
- 压力测试工具----JMeter
- 【论文精读与思考】:深度强化学习的组合优化研究进展
- Mac版哔哩哔哩视频下载工具
- 相识-相知-相亲-娶亲-享受
- Excel中时间相减的实例教程
- APP微信支付(java后台_统一下单和回调)
- 多表联查--01---LEFT JOIN 实现多表联查
- 视频通话除了QQ还有什么软件可以实现?
- MySQL 表分区 A PRIMARY KEY must include all columns in the table's partitioning function
- 智能变电站远程监控解决方案
- 付海棠 - 一个农民的亿万传奇(2015年7月14日)