在对安卓进行测试时,我们需要把 apk 传到安卓机上,对请求抓包,同时监控应用日志。本文就来讲讲具体操作。
安卓机是指基于安卓的机器 ,如手机、POS 机、电视盒子等。
传文件
我们拒绝用 U 盘传文件。直接用 WIFI 传。别问,问就是想装逼。哈哈哈。
① 先把装逼神器 adb 下载下来,打开以下网址:
下载后得到 UniversalAdbDriverSetup.msi 文件,只有 16.2 M,相比有些人让安装 Android Studio,轻巧了太多。
② 安装之后打开 cmd,输入 adb
:
出现如图所示就算安装成功了。
③ 接着继续装逼,把安卓机掏出来,打开设置 | 系统 | 关于手机,对着“版本号”一顿猛戳,戳到开发者模式为止,启用它(不同安卓机可能方式不同)。
④ 装,接着装。在 WIFI 设置中,找到已经和电脑处于同一网络的 WIFI,查看高级选项,获取 IP 地址。
⑤ 在电脑的 cmd 中,输入以下命令使用 adb 连接安卓机:
adb connect 192.168.x.x
出现如图所示就算连接成功了:
⑥ 好,一切就绪,开始骚操作,电脑 → 手机:
adb push D:\test.apk /storage/emulated/0/
电脑 ← 手机:
adb pull /storage/emulated/0/test.apk D:\
抓包
抓包用到的工具是 Charles。下载地址:
下载后直接安装即可。建议找下破解,不然用着会有点卡。
抓包很简单,只需要两步。第一步在电脑端启动代理。第二步在安卓机上手动设置代理。
第一步在电脑端启动代理。Charles 中打开 Proxy | Proxy Settings 启用代理,默认端口 8888:
第二步在安卓机上手动设置代理。打开安卓机 WIFI 设置,编辑网络(不同手机可能方式不同),添加手动代理,填写电脑 IP 和 Charles 代理端口:
保存后 Charles 会提示有连接请求:
允许即可。
看日志
电脑端 cmd 一行命令搞定:
adb logcat
不过这样打出来的日志会比较多。可以做下过滤。
Windows:
adb logcat | find "some"
Linux:
adb locat | grep "some"
抓不到包的问题
有可能会抓不到包。不同机器原因各有不同。这里我不能给出完美的解决办法。只能分享下我的经验。如果无法解决,还是找下百度。
一种可能就是 HTTPS 证书问题,在 Help | SSL Proxying 有对应功能:
有些时候电脑端安装完证书就可以了,有些时候还需要在安卓机上下载证书:
http://charlesproxy.com/getssl
有一次我访问这个链接无响应,重启 Charles 又可以了下载了。
还有一种可能是没有添加白名单,Proxy | SSL Proxying setttings:
简要回顾
本文介绍了安卓机测试环境的准备,用到了 adb、Charles 软件,进行传文件、抓包、看日志。操作还是比较简单,不过实际过程中,可能会由于机器不同导致遇到奇奇怪怪的问题。通过百度,一般是能够解决的。最后温馨提示,如果第二天安卓机提示无法连接网络,那么看看是不是电脑的 Charles 关掉了。哈哈哈。
Android测试三件套:传文件、抓包、看日志的更多相关文章
-
Android 下使用tcpdump网络抓包方法
Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...
-
Android/IOS手机使用Fiddler抓包
对于Android和IOS开发及测试的同事来说抓包是一个很重要的事,有利于排查问题所在,快速定位问题.但长期以来一直没有一款可以快速抓包的工具,直到有了Fiddler2. 使用步骤: 1. Fidd ...
-
LoadRunner+Android模所器实现抓包并调试本地服务端
步骤就是 1:新建LR脚本.协议选择Mobile Application - HTTP/HTML 2:在record里选择第三个:Record Emulator........ 3: 选择下一步后, ...
-
Postman测试上传文件
postman测试上传文件 输入url:http://127.0.0.1:8081/uploadfile 选择post方式 选择body 选择form-data,text改为file 输入key: ...
-
charles抓包看性能数据
1.优化某个接口或加载速度(H5加载速度慢) 抓包看Overview ①看Duration,就是接口的加载时间 ②看Latency,就是延时一端传播到另一端所花费的时间:一般和网络有关:可以综合Dur ...
-
如何分析和研究Log文件 ,如何看日志信息
如何分析和研究Log文件 ,如何看日志信息 . Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处 ...
-
Android网络开发实例(基于抓包实现的网络模拟登录,登出和强制登出)
学习Android有几个月了,最近喜欢上了网络编程,于是想通过Android写一些一个小程序用于连接外网.在这里非常感谢雪夜圣诞的支持,非常感谢,给我打开新的一扇门. 1.声明,本程序只能用于西南大学 ...
-
Fiddler 抓包工具怎么使用?怎么在Android手机端的APP抓包
https://blog.csdn.net/loner_fang/article/details/83309266 参考这个人的微博上有fiddler主要功能使用的步骤. 序章 Fiddler是一个蛮 ...
-
Android导入Burp Suite证书抓包HTTPS
需求 Android APP安全测试时,主要工作分为: APK安全 业务安全 APK安全这里不讨论,我说说业务安全,因为大部分的业务校验逻辑还是放在Servier端,这里就会涉及到网络通信了.因此网络 ...
随机推荐
-
[The Basics of Hacking and Penetration Testing] Learn &; Practice
Remember to consturct your test environment. Kali Linux & Metasploitable2 & Windows XP
-
理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
刚才看了一下sundy的视频<LLY110426_Android应用程序启动>,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...
-
原始套接字SOCK_RAW
原始套接字SOCK_RAW 实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM).而这些数据包 ...
-
attr与prop
Jquery获取checkbox属性checked为undefined (-- ::)转载▼ 标签: js jquery checkbox checked undefined 分类: JQuery 使 ...
-
poj: 3094
简单题 #include <iostream> #include <stdio.h> #include <string> #include <stack> ...
-
sql中truncate 、delete与drop区别
SQL truncate .delete与drop区别 相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL ...
-
js 支持的原始数据类型
原始数据类型: 数值型: 1.十进制数 <script> var a =12; a = -12 a = 12.4 a =.23e2 //=>23 a = 2e3 //=>200 ...
-
剑指offer 连续子序列和
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public: int FindGreatestSumOfSu ...
-
Java基础——运算符
一.赋值运算符 在前面的学习中,用到最多的是什么呢?就是“=” .例如:int money=1000; //储存本金 使用“=”将数值1000放入变量money的存储空间中.“=”称为赋值运算符. ...
-
springboot之banner
1 在Main里面关闭 @SpringBootApplication@MapperScan("org.sselab.mapper")public class Application ...