安卓手机抓包方法归纳总结

article/2025/10/18 20:36:34

安卓手机抓包方法归纳总结

最近需要对安卓应用发出的网络数据进行抓包分析,除了常见的HTTP还包括MQTT协议。
本文总结归纳了。手机端抓包的各种方法和思路

0x01 wireshark方案

在PC端抓过包的人一定不会对Wireshark感到陌生,该软件可以直接抓取流经网络适配器(网卡)的所有数据包,意味着局域网内其它主机发出的数据包也可以截获(这种模式叫作混杂模式)。此外该软件能够解析下至数据链路层,上至应用层的绝大多数网络协议。

那么在手机端如何使用wireshark进行抓包分析呢?大致的思路有两种:

1. 在PC上使用wireshark

把手机端的网络流量导流到PC上。在PC上直接使用Wireshark进行抓包并分析。
这种方案要求手机与PC处于同一局域网内。
可行的办法是,手机连接电脑开的热点。对于没有无线网卡的电脑,可以使用随身WIFI来创建WIFI热点

2. tcpdump + wireshark

在手机端使用tcpdump抓包,然后在PC端使用wireshark分析。
tcpdump是linux上的一个命令行抓包工具。它直接在网卡抓取数据包,所以需要root权限
具体步骤可以参考:详解使用tcpdump、wireshark对Android应用程序进行抓包并分析

解析SSL层密文遇到麻烦

Wireshark很强大,但是它在解析SSL层加密过的信息时,需要配置秘钥。
如果拥有服务器证书的私钥,那一切就很简单了。简单在wireshark的首选项中设置一下即可。

另一种方法只针对浏览器发出的HTTPS数据,Chrome和Firefox会在日志中记录会话的秘钥。
只要在系统环境变量中增加SSLKEYLOGFILE变量,重启浏览器即可。
具体实践可参考:Wireshark对HTTPS数据的解密

显然,这种方案对手机APP产生的HTTPS数据无能为力。

0x02 HTTP代理思路

将手机的HTTP请求导流至代理服务器,那么便可以在代理服务器中抓取到网络数据包了.
可以使用的工具有Fiddler或者Charles
该思路的不足是,只能抓取http的数据,如果要抓取别的应用层协议,就无能为力了。

同一局域网下使用Fiddler

在PC端打开Fiddler作为HTTP代理服务器。
在手机端设置HTTP代理。这样就可以把手机端的HTTP流量导流只PC端。

对于HTTPS流量,可以在手机端安装Fiddler的证书。这样代理就可以解密加密的数据了

具体实践可参考:Fiddler实现手机抓包
通过SDcard安装证书的方法:Fiddler证书安装(查看HTTPS)

不同局域网下使用DevTools + Fiddler

对于不处于同一局域网的设备,还可以使用Chrome游览器的设备远程调试功能,具体步骤如下:

  1. 在PC端的chrome浏览器输入 chrome://inspect/#devices 即可进入
  2. 点击Port forwarding,弹出设置窗口
  3. 在设备端口输入框填写移动设备要监听的端口号,此处设为8000(可以任意未被使用的值,只要下面使用处做相应修改即可)。
    选中Enableport forwarding,点击Done完成。
  4. 在手机端设置HTTP代理,主机号:localhost,端口号:上一步中设置的8000
  5. 在手机端用浏览器随访问任意网页,当chrome://inspect窗口的端口号闪动为绿色时,表明该端口转发配置已生效。此时任何通过手机8000端口发出的请求都会通过数据线被映射到电脑的localhost:8888

0x03 手机端抓包工具:Packet capture

这个工具是手机端的一个VPN,也相当于是一个代理。
它还可以把抓取到的数据保存为pcap格式,这样就可以在PC上使用Wireshark来分析。相比较于Tcpdump,它的好处是不需要root手机。

在实践中,并不能解析SSL加密的数据包。查资料,说是因为高版本安卓不再信任用户添加的CA证书列表。或者是客户端APP对CA证书进行了校验。总之是没法解析TLS数据。
一种解决办法是使用Xposed 插件just trust me。来跳过CA证书的校验过程。

扩展阅读:
手机抓包工具汇总

0x04 其它思路

其实抓到包很容易,难的是如何解析SSL层加密的数据。

抓包的目的就是分析网络数据,如果有APP的源码,其实可以换个思路,不用在网络侧抓包,而是在代码里调用网络接口前,将数据打印出来。
注意这里的目的是获取到应用层协议的报头,而不仅仅是应用层协议的载荷。

1. Xposed HOOK

这是一种比较野的路子,在尝试的过程中失败了。但是可以把思路写出来
利用Xposed框架,Hook网络请求的相关代码,将数据打印出来。
能够在不修改源代码的前提下,截获网络数据。

2. 自定义Socket

在代码里自定义一个Socket/SSLSocketFactory,对Socket进行一层包装,增加自定义的逻辑。
自定义逻辑可以是统计流量,也可以是记录。
这种思路同样可以获得应用发出的网络数据。

然后在OkhttpClient.Bulder中设置SSLSocketFactory/SocketFactory。网络库一般都会提供设置SocketFactory的方法。


http://chatgpt.dhexx.cn/article/cerm3afy.shtml

相关文章

【fiddler】用fiddler实现android手机抓包

一、fiddler的简介 fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。 它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修…

手机抓包工具汇总【转】

转自:http://blog.zengrong.net/post/2646.html 做移动开发,抓包是基本功。现在的开发者当真是非常幸福,因为抓包工具已经非常成熟了。 在移动设备上抓包,需要下面几个方面的配合: 移动设备支持;代理服务…

fiddler如何抓手机的包-三种场景

fiddler如何抓手机的包-三种场景 一、抓包大概步骤 1.抓手机包的大概步骤 1.1.保证手机和电脑在同一个网段(连接同一个热点,电脑连手机热点) 1.2.Fiddler开启远程配置,设置端口 1.3.进入手机wifi,设置代理&#xff0…

利用手机抓包

安卓手机抓包用小黄鸟app,苹果手机抓包用Stream 一、安卓小黄鸟抓包教程 1、安装小黄鸟 手机下一个HttpCanary(小黄鸟)apk,百度一大堆。或者拿我共享的用 链接:https://pan.baidu.com/s/1ufyni4fAp3XrIBKNFBCa2Q 提取码:1234…

GOIP卡机网关SIM 对接群呼叫客服系统 自动外呼

采用软硬件结合的架构方式、及分布式的IP技术,从多角度为企业提供整合的一体化解决方案;由于新技术的应用,在提供优质高效的客户服务的同时,大大降低了运营成本,给企业的客户服务带来震撼性的变革,共同辅助…

什么是CTI?呼叫中心系统CTI技术的应用

CTI是指计算机电话集成;CTI呼叫中心系统是指一种基于CTI技术、充分利用通信网和计算机网的多项功能集成,并与企业连为一体的一个完整的综合信息服务系统。下面我们就来详细了解CTI是什么?什么是CTI呼叫中心系统? CTI是英文“Compu…

自动驾驶与移动边缘计算

https://www.toutiao.com/i6639488714558931463/ 2018-12-27 10:07:10 移动边缘计算是一项在近距离内为移动用户提供云服务和IT服务的新兴技术。传统网络运营商负责对传输流进行控制(比如转发和包过滤等),但在移动边缘计算中,云服…

基于plc的病床呼叫系统控制设计

wx供重浩:创享日记 对话框发送:plc呼叫 获取完整无水印说明报告(含梯形图指令表等) 明确设计内容和要求 病床呼叫系统控制要求 ① 共有6个病房,每间病房4个床位。每一病床床头均有紧急呼叫按钮及重置按钮,…

呼叫中心客服IVR语音导航和电销自动外呼

在客户为主导的市场下,呼叫中心软件凭借能提升企业品牌形象、坐席工作效率和客户满意度的优点,遍布在各行各业,如客服部门、销售部门、技术维修部门、政府部门热线、水电力、调度部门、银行、教育领域、医疗卫生部门等。下面根据智海科创呼叫中心软件介绍一下呼叫中心软件的…

曾经的百度开源呼叫中心

首先说明一下,在github上面百度已经撤回了此开源项目。 # 简介 百度开发的一套基于互联网应用模式的呼叫中心套件,采用颠覆式的技术模式,无需任何专有硬件设备,以通用服务器软件的模式,依靠云计算等技术,…

世界排名前十的自动驾驶公司,这几家中国公司上榜

当我们翻开新的一页进入新的十年时,我们能够感觉到,这是完全(5 级)自动驾驶汽车的十年。 而开发自动驾驶汽车的公司则被卷入了一场“谁将成为第一”、“谁将创造历史”的竞赛。 他们互相比赛,我们看着历史在我们眼前…

python实现自动打电话软件_python拨打电话

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 用python拨打电话,先看小视频 跟selenium操作浏览器原理类似,这是用appium操作移动设备的一个自动化功能,自娱自乐,主要是通过小案例引出相关技术一、环境配…

云呼叫中心系统实现坐席远程办公

云呼叫中心就是把系统部署在云服务器上,坐席也可以通过专用手机APP软电话软件注册到云服务器上,就可以实现坐席居家远程办公了。 在智能经济时代,远程办公不止是应对当下疫情的工作方式,也将是未来客服行业的发展方向。通过云呼叫…

呼叫中心基本概念

一、什么是呼叫中心 呼叫中心(Call Center),摘自百度知道:就是在一个相对集中的场所,由一批服务人员组成的服务机构,通常利用计算机通讯技术,处理来自企业、顾客的垂询与咨询需求。 例如&…

呼叫系统呼叫中心crm系统

🍓🍓文末获取联系🍓🍓 前端 phpmysql cti服务 java 底层asterisk纯 C 一、系统概述整套系统是由电话语音管理系统和客户管理软件组成,除具有电话录音、来电弹屏、通话记录、电脑拨号、工作量统计以外,还…

呼叫中心行业,引领时代进步

呼叫中心行业,引领时代进步 呼叫中心起源于航空售票业的机票预定,国内自90年代末期引入呼叫中心后,呼叫中心系统的建设不断庞大,形成在整个社会服务体系中占有相当大比例的产业。 国外的发展史 国外呼叫中心的出现很难有一个确切…

java实现电话的呼叫转移_「呼叫转移设置」呼叫转移流程分析(一) - seo实验室...

呼叫转移设置 Android5.0之后的版本,手机的CallSetting设置一般在package/APPs/service/Telephony中 下面为呼叫转移流程图,包括应用层与RIL的request 1.CallFeartureSettingActivity.java为通话设置入口 //在谷歌的源码中没有这个类,可以直接看2、CallFeatureSetting 在onR…

基于FreeSwitch自动外呼的探索

一、 研究导读 随着近两年IP融合通信、视频通信、统一通信、云计算等新技术的迅猛发展,信息科技的快速增长以及电话外呼需求量的不断提升。由于传统的呼叫中心语音处理能力受限于硬件板卡,存在依赖硬件、成本高、维护困难、可扩展性不强等特点&#x…

【医院呼叫系统】基于FPGA的简易医院呼叫系统实现

1.软件版本 quartusii12.1 2.系统设计概述 设计一个FPGA对LED进行静态和动态显示的数字时钟控制NBW-8路主机可接8个分机的系统。根据系统设计要求,系统的组成如框图,包括主机FPGA对LED进行静态和动态显示的数字时钟控制程序,以及各个分机电…

基于FPGA的呼叫设备verilog开发

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字…