鸿蒙开发HarmonyOS( Beta5版)基于网络的抓包能力

153 篇文章 0 订阅
153 篇文章 0 订阅

场景描述

环境测试分析同一个路由器下设备的数据交流情况,包括各种HTTP请求和响应信息等,需要使用charles或其他工具抓取查看发送的报文信息。

场景:

应用抓包工具查看HTTP发起请求、调用webview能力过程中与服务器端网络通讯协议

工具下载:

以charles工具为例需要在官方网址下载:www.charlesproxy.com/

配置步骤:

一、Wi-Fi设置代理

配置代理前需要将手机与电脑端在同一局域网下连接,于可用Wi-Fi连接界面配置代理

cke_5128.png

手机上代理设置步骤如下:

    1、手机连接Wi-Fi   

    2、连接界面”代理“项设置为”手动“   

    3、修改设置代理IP中服务器地址及端口号

cke_12103.png

二、工具证书下载

1、点击顶部菜单栏【Help】-->选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;

2、点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书即可;(这里和上面安装一样)

3、证书安装操作可选方案如下:

方案一:hdc命令上传工具证书

root版本设备可在命令行界面调用如下命令上传文件:

hdc file send charles.pem(电脑端上证书路径) /storage/media/100/local/files/Download/testCa.pem

方案二:登录官网证书地址下载

手机安装SSL证书前,在工具HTLP下面的 SSL Proxying,选择”Install Charles Root Certificate on a Mobile Device or remote Browser” (在移动设备或远程浏览器上安装SSL证书)返回弹窗:

configure your device to use charles as its HTTP proxy on 10.234.97.75.8888,then browse to chls.pro/ssl to download and install the certificate

cke_16898.png

需要参考返回地址设置wifi中代理,然后手机浏览器中访问 Charles Web Debugging Proxy • SSL CA Certificate installation 网站下载安装证书:

cke_21725.png

三、证书安装

证书安装后从存储设备选择添加信任工具的pem证书,可执行如下命令启动证书安装界面(user版本可正常执行):       

hdc shell aa start -a MainAbility -b com.ohos.certmanager

安装步骤参考如下:

1、执行命令进入证书界面后点击"从存储设备安装"选项,在文件管理器中 浏览 - 内部存储 - Download 目录下选择已安装/上传的证书:

cke_26557.png

cke_31447.png

cke_36353.png

cke_41235.png

2、点击证书后提示”是否安装证书“,确认后自定义证书名称提交,执行完毕可在用户的受信任证书界面查看到对应的证书,右侧显示”已启用“为安装成功:

cke_46941.png

cke_51889.png

cke_56884.png

四、应用中HTTP请求配置参数(可选)

    1)设置usingProxy为true,开启使用网络代理(该字段默认为false不使用代理)

    2)设置caPath(默认使用系统默认路径下CA证书,如默认证书认证失败返回60需要替换为请求域名的服务器证书,项目中设置可参考常见问题Q4)

cke_61877.png

常见问题

Q1:通过web组件是否支持使用charles工具抓包 ?

A1:当前能力可支持。

Q2:2300077 Problem with the SSL CA cert (path? access rights?) 证书无法使用或路径下证书不存在报错如何解决?

A2:需要检查下capath设置证书路径是否可访问、证书文件是否存在。

Q3:2300060 远程服务器SSL证书或SSH秘钥不正确是什么原因导致?

A3:使用为charles证书或系统根证书无法通过https校验 ,需替换为请求的域名证书。

Q4:user版本hdc shell证书推送失效工具,如何将证书放入设备系统?

A4:

方案一:可参考上述步骤配置代理后访问 Charles Web Debugging Proxy • SSL CA Certificate installation 地址下载

方案二:可通过代码文件写入方式将证书写入系统,设置证书一般为请求域名证书,需要放在rawfile资源目录下:

cke_66928.png

样例可参考如下:

//文件方式写入pem(导入证书需要放在rawfile资源目录下) 
getContext(this).area = 0 
let context: Context = getContext(this); 
//获取资源目录下证书内容 
const keyPemConent = context.resourceManager.getRawFileContentSync('_.cnfic.com.cn.pem') 
 
//证书沙箱路径 
let filesDir: string = context.filesDir 
let filePath = filesDir + "/testCer2.pem";  ///etc/ssl/certs/cacert.pem   
 
//创建文件写入证书内容 
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 
fs.writeSync(file.fd, keyPemConent.buffer); 
fs.fsyncSync(file.fd); 
fs.closeSync(file);

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

 →【纯血版鸿蒙全套最新学习文档】希望这一份鸿蒙学习文档能够给大家带来帮助~


 鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.学习视频+学习PDF文档

HarmonyOS Next 最新全套视频教程 (鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

​​

 纯血版鸿蒙全套学习文档(面试、文档、全套视频等)

                   

​​​​鸿蒙APP开发必备

​​

总结

【纯血版鸿蒙全套最新学习文档】

总的来说,华为鸿蒙不再兼容安卓,对程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,才能在这个变革的时代中立于不败之地。 

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值