【FFH】如何在鸿蒙系统上进行抓包测试

  • 前言
  • 什么是抓包?
  • Charles工具介绍
  • Charles代理配置
  • Charles访问配置
  • 鸿蒙端代理配置
  • 抓取https数据
    • (一)安装SSL证书
    • (二)Https代理配置
  • 调试中遇到的问题
  • 测试过程
    • (一)http请求配置
    • (二)域名SSL证书部署
    • (三)传递参数格式处理
  • 疑惑

前言

​ 最近在前后端对接api的时候,因为后端数据库以及服务器等配置正常,并且APP侧发的请求也是正常发送,但是出现了后端接收不到APP侧传递参数的问题。过程中后端觉得自己没问题,APP侧也觉得自己没问题。最终通过抓包明确了是APP侧IDE的网络配置问题。问题很简单也很典型,但是花了差不多半天时间,下面我会用这次的测试经历记录一下如何抓包,以及测试结果

​ 在软件前端和后端交接的过程中,测试是不可缺失的一环,其中有前后端的api对接就是一个重要的过程,但是往往这个过程会有很多问题,需要将问题归结到后端或者前端,这时就需要借助抓包工具来辅助我们进行接口测试,明确问题所在,这样才能正确地解决问题。

什么是抓包?

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全,网络测试。抓包也经常被用来进行数据截取等。

Charles工具介绍

Charles是一款基于HTTP协议的代理服务器,通过成为电脑或者手机等等客户端的代理,然后截取请求和请求结果,以达到分析抓包的目的。

安装地址:https://www.charlesproxy.com/

下面我们就来体验一下测试抓包过程吧。

Charles代理配置

我们安装Charles之后,首先是先进行代理配置,过程如下,点击导航栏Proxy--->Proxy Setting

然后设置端口号,这里默认是8888,如果该端口号被别的软件占用,则设置其他端口号,然后点击OK即可完成代理配置。


到此我们需要记下使用Charles的主机的IP地址(打开cmd,输入ipconfig可以查看),以及我们这里配置的端口号

Charles访问配置

​ 如果对某个客户端IP进行访问认证,则Charles默认可以让该IP的客户端通过Charles代理服务器来访问网络,并且Charles也可以抓取到对应客户端的相关报文。

​ 下面我们来看看怎么认证客户端的ip地址。点击顶部导航栏的Proxy--->Access Control Setting


接着天点击①add,编辑输入客户端ip地址即可,若是客户端本机则默认进行了本机的ip访问认证。


那如果不在该认证列表的ip访问Charles代理服务器会怎么样呢?那就跟②Prompt to allow unauthorized connecions这个选项相关了,若勾选,则未经认证的ip进行访问的时候会会有弹窗提示,若没有勾选,则默认不允许访问。

鸿蒙端代理配置

首先在设置中的打开WLAN,长按连接上的wifi,点击修改网络

代理选择手动,接着把我们刚刚使用Charles的主机ip输入到服务器主机名中,端口设置为我们前面Charles配置的代理端口

抓取https数据

然而我们会发现,我们只能抓取到http的数据,但是看不了https的请求情况,原因就是https进行了一层加密封装,解决办法很简单,就是安装SSL证书,下面我们来看看如何在Charles安装SSL证书。

(一)安装SSL证书

首先点击顶部导航栏进入Install Charles Root Certificate


接着选择安装证书,并且勾选本地计算机

最后选择将所有证书都存放到下列存储,再点击浏览,选择受信任的根证书颁发机构,最后点击完成即可。

到此我们就把SSL证书给安装完成了。

(二)Https代理配置

先进入SSL Proxying Setting

接着勾选Enable SSL Proxying,如果左边栏的Location为空,则点击add,添加Host : *(Port不用填写),然后点击OK就配置完成了。

然后我们就可以看到Https的请求报文啦。

调试中遇到的问题

前端参数传递不到后端,一直为空,但是却返回200。

测试过程

使用Charles抓包,一直没抓取到对应出现错误的请求,就可以大概断定是前端发送有问题,然而测试过程一波三折,同时看到了很多问题。

(一)http请求配置

结合了一下文档后,发现发送http(默认只可以发送https),需要配置config.json,如下:yi

"deviceConfig": {"default": {"keepAlive": true,"network": {"cleartextTraffic": true}}}

然后配置完之后,参数依旧为空,接着我们换成了https进行发送,依旧是不行。

(二)域名SSL证书部署

再次结合官方文档,发现系统会进行域名的SSL证书验证

然而换了部署了SSL证书的域名,依旧无法解决。

(三)传递参数格式处理

后面后端从表单改为JSON处理数据,前端更换Content-type为application/json,最终解决方案来自如下博客:

【踩坑记】Postman能够请求成功获取到参数,前端axios请求的却报错 - 蜗牛snail - 博客园 (cnblogs.com)

疑惑

虽然最终解决了,但是我之前的项目传递表单时也是直接将参数放进body(请求体),没遇到上面链接文章说到问题,但是这批后端接口却有这个问题,所以我个人感觉这个的bug比较玄学。

有大佬知道可以评论区讨论一下,或者私信告诉我,我也学习一下~~~

【FFH】如何在鸿蒙系统上进行抓包测试相关推荐

  1. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  2. 鸿蒙系统是单任务还是多任务,在鸿蒙系统上使用MQTT编程

    我们使用的是paho mqtt软件包,这里介绍一下怎么使用mqtt协议编程.关于鸿蒙系统的mqtt移植好的软件包,相关github链接如下: https://gitee.com/qidiyun/har ...

  3. realme支持鸿蒙系统,小米、OPPO、vivo、魅族、Realme在搭载华为鸿蒙系统上的态度...

    华为鸿蒙系统(HarmonyOS)不同于谷歌安卓系统,它是一款国产操作系统,华为已经正式表态,在2021年的目标是搭载3亿终端,2022年继续扩大对鸿蒙系统的部署.当前华为鸿蒙主要锁定六大领域,即智能 ...

  4. 厉害了!Flutter 在鸿蒙系统上跑起来了

    点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 来自:美团技术团队 前言 鸿蒙系统 (HarmonyOS)是华为推出的一款面向未来.面向全 ...

  5. Linux系统无线网络抓包程序(分析手机WIFI MAC地址)

    前面讲述了使用tcpdump和wireshark抓WIFI包,但这只是使用工具的层面,再深一层则是自己写代码实现这个功能.本文在前面文章<Linux系统有线网络抓包程序>的基础上添加实现无 ...

  6. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么. 网上的教程太复杂,不想麻烦. ...

  7. 使用tcpdump在iphone手机上的抓包流程和原理概述

    在ios应用开发过程中,为了进行端到端的分析,很多时候我们需要对手机的抓包进行分析. 对手机的抓包我们要在手机上安装抓包工具:tcpdump 前提:手机越狱:安装tcpdump    这样一部ipho ...

  8. 【测试】抓包技术哪家强?关于Burp、Fiddler、Charles三个工具的抓包测试

    关于Burp.Fiddler.Charles抓包测试 文章目录 关于Burp.Fiddler.Charles抓包测试 一.测试目标 二.工具分析 三.操作流程 1.Burp Suite抓包实战: 2. ...

  9. Fiddler抓包测试工具

    1.fiddler使用 抓包的作用? ①接口测试或接口调试 ②定位前后端bug ③弱网测试(2G.3G.4G) ④网络挟持或线上调试 ​ 抓包工具常用的页签 ​http协议的请求直接抓取,即可 htt ...

最新文章

  1. August 14, 2009 - Choice
  2. java中获取时间的方式,持续更新
  3. Linux——安装FTP服务器
  4. hashmap应用场景_工作中常用到的Java集合有哪些?应用场景是什么?
  5. 将$type添加到System.Text.Json序列化中,就像Newtonsoft那样用于动态对象属性
  6. Numpy系列(二)对数组按索引查询
  7. 一百分成3 3 4怎么用计算机算,计算机组成原理试卷三
  8. 使用iText处理pdf文件的入门级教程
  9. 有了HTML5,Flash还能走多远?
  10. 狸窝全能视频转换器功能介绍
  11. linux 中压缩文件夹命令行,Linux下压缩文件夹命令使用
  12. 用Python编游戏
  13. VLAN隔离葵花宝典(二)
  14. nodejs之pool连接池
  15. ui设计现状与意义_对于ui设计行业来说,用户界面设计的发展现状是什么?
  16. 剑网三游戏延迟太高卡顿进不去怎么处理?
  17. 斑马射频打印机同时操作打印、写入EPC、读TID
  18. 找出矩阵中的最大正方形
  19. java毕业设计小说网站mybatis+源码+调试部署+系统+数据库+lw
  20. Nokia 6030默认保密码

热门文章

  1. 视频号9大变现模式,总有一个适合你
  2. FFT快速傅里叶变换C语言实现信号处理 对振动信号进行实现时域到频域的转换
  3. Button 按钮的点击时候出现蓝色边框
  4. 宣布全面开源,微众银行正下一盘区块链商业的大棋
  5. 计算机里面不显示光驱位硬盘,悲剧了!win10下新加的光驱位机械硬盘无法识别...
  6. ThreadLocal.withInitial
  7. Linux下的聊天软件
  8. 大学人机交互课小组作业(刚入坑菜鸟一枚,求别喷吼吼)
  9. 华为ac配置radius认证服务器_华为无线控制器启用802.1X认证配置
  10. 利用新浪微博来控制电脑