安卓APP测试之使用BurpSuite实现HTTPS抓包方法

   2015-06-30 0
核心提示:这篇文章主要介绍了安卓APP测试之使用Burp Suite实现HTTPS抓包方法,本文详解讲解了测试环境和各个软件的配置方法,需要的朋友可以参考下

APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外)。所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议、Websocket、socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了。但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败。本文介绍如何使用Burp suite抓取https包。

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

一、工具准备

安卓手机一部(Nexus4,原生安卓,未root)

笔记本(带有无线网卡,可以创建wifi热点)

wifi热点软件/同一局域网

Burp suite软件(抓取HTTP、HTTPS、Websocket包)

二、抓包原理

通过Burp suite代理方式,将手机的流量通过Burp suite;导出Burp Suite根证书(PortSwiggerCA.crt)并导入到手机中,手机的HTTPS流量将可以通过Burp suite代理。

三、配置过程1. 保证网络能进行代理

因为Burp suite是采用代理抓包方式的,所以要保证网络能够进行代理,不能被防火墙等阻隔,最好的方式是进行主机虚拟Wifi热点。

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

 

2. Burp suite配置

Burp suite的Proxy项目中配置代理IP及端口。

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

 

这里也可以为Burp Suite添加多个代理

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

 

3. 导出Burp Suite根证书

在火狐浏览器中,使用Burp suite代理随意打开一个https链接,获取相关证书,并导出:

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

 

直接导出证书:

 

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

 

通过hfs.exe等工具,将导出的根证书下载到手机中,并在设置-> 安全 -> 从存储设备安装(证书) 选项中安装Burp Suite根证书:

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

4. 手机连接Wifi热点,并设置代理:

手机连接我们刚设置好的Wifi热点,并在高级选项中配置代理:

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

通过以上配置,app中的HTTP流量就可以直接走Burp Suite了:

安卓APP测试之使用BurpSuite实现HTTPS抓包方法

四、总结:

安卓APP更多的都是采用HTTP通信的,少数采用HTTPS的,这也是国内网络安全问题的现状。毕竟不加密的HTTP通信节约带宽和系统资源,更多人直接采用非SSL或者TLS加密的HTTP通信,这也是导致网络嗅探如此流行、简单的原因。https的通信需要信任公私钥,所以只要有了密钥或者根证书,抓包就非常容易,这也直接告诉我们,如果访问正常网站,突然弹出让我们信任证书的时候,这时也许就是我们正在被嗅探。。。。。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 安卓中通知功能的具体实现
    安卓中通知功能的具体实现
    通知[Notification]是Android中比较有特色的功能,当某个应用程序希望给用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知实现。使用通知的步骤1、需要一个NotificationManager来获得NotificationManager manager = (NotificationManager
    02-05 安卓开发
  • Android view系统分析-setContentView
    Android view系统分析-setContentView
    第一天上班,列了一下今年要学习的东西。主要就是深入学习Android相关的系统源代码,夯实基础。对于学习Android系统源代码,也没什么大概,就从我们平常使用最基础的东西学起,也就是从view这个切入点开始学习Android的源码,在没分析源码之前,我们有的时候
    02-05 安卓开发
  • 如何进行网络视频截图/获取视频的缩略图
    如何进行网络视频截图/获取视频的缩略图
    小编导读:获取视频的缩略图,截图正在播放的视频某一帧,是在音视频开发中,常遇到的问题。本文是主要用于点播中截图视频,同时还可以获取点播视频的缩略图进行显示,留下一个问题,如下图所示, 如果要获取直播中节目视频缩略图,该怎么做呢?(ps:直播是直
  • Android NDK 层发起 HTTP 请求的问题及解决
    Android NDK 层发起 HTTP 请求的问题及解决
    前言新的一年,大家新年快乐~~鸡年大吉!本次给大家带来何老师的最新文章~虽然何老师还在过节,但依然放心不下广大开发者,在此佳节还未结束之际,给大家带来最新的技术分享~ 事件的起因不说了,总之是需要实现一个 NDK 层的网络请求。为了多端适用,还是选择
  • 移动周刊第 176 期:Android 知识梳理
    移动周刊第 176 期:Android 知识梳理
    写在前面 本期移动周刊第 176 期如约而至,聚焦 Android、iOS、VR/AR/MR、直播等前沿移动开发技术,收录一周最热点,解读开发技巧,每周三移动周刊抢先看,我们希望从中能够让你有一些收获,如果你有好的文章以及优化建议,请发送邮件至mobilehub@csdn.net,
  • Android插件化(六): OpenAtlasの改写aapt以防止资源ID冲突
    Android插件化(六): OpenAtlasの改写aapt以防
    引言Android应用程序的编译中,负责资源打包的是aapt,如果不对打包后的资源ID进行控制,就会导致插件中的资源ID冲突。所以,我们需要改写aapt的源码,以达到通过某种方式传递资源ID的Package ID,通过aapt打包时获取到这个Package ID并且应用才插件资源的命名
    02-05 安卓开发
  • Android架构(一)MVP架构在Android中的实践
    Android架构(一)MVP架构在Android中的实践
    为什么要重视程序的架构设计 对程序进行架构设计的原因,归根结底是为了 提高生产力 。通过设计是程序模块化,做到模块内部的 高聚合 和模块之间的 低耦合 (如依赖注入就是低耦合的集中体现)。 这样做的好处是使得程序开发过程中,开发人员主需要专注于一点,
    02-05 安卓开发
  • 安卓逆向系列教程 4.2 分析锁机软件
    安卓逆向系列教程 4.2 分析锁机软件
    安卓逆向系列教程 4.2 分析锁机软件 作者: 飞龙 这个教程中我们要分析一个锁机软件。像这种软件都比较简单,完全可以顺着入口看下去,但我这里还是用关键点来定位。首先这个软件的截图是这样,进入这个界面之后,除非退出模拟器,否则没办法回到桌面。上面那
    02-05 安卓开发
  • Android插件化(二):OpenAtlas插件安装过程分析
    Android插件化(二):OpenAtlas插件安装过程分析
    在前一篇博客 Android插件化(一):OpenAtlas架构以及实现原理概要 中,我们对应Android插件化存在的问题,实现原理,以及目前的实现方案进行了简单的叙述。从这篇开始,我们要深入到OpenAtlas的源码中进行插件安装过程的分析。 插件的安装分为3种:宿主启动时立
    02-05 安卓开发
  • [译] Android API 指南
    [译] Android API 指南
    众所周知,Android开发者有中文网站了,API 指南一眼看去最左侧的菜单都是中文,然而点进去内容还是很多是英文,并没有全部翻译,我这里整理了API 指南的目录,便于查看,如果之前还没有通读,现在可以好好看一遍。注意,如果标题带有英文,说明官方还没有翻
点击排行