本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!
应用层
应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层
在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层
负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层(主机-网络层)
接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
安装Python环境及frida:注意frida和frida-tools版本匹配,这里我选择指定版本安装的方式
查看python所有安装包:pip list
下载安装frida-server
在 官方github页面的release
标签里,找到对应版本的frida-server,注意要匹配系统和架构,比如
arm和
arm64就不能搞错
查看手机CPU 架构类型
根据frida版本和手机CPU版本下载对应的frida-server
下载完成后进行解压,获得linux
原生的可执行文件,我们将它重命名为frida-server
将frida-server安装至手机
使用adb
命令将其推送到手机上去
然后使用adb shell
命令进入到手机中去,执行以下命令:
frida-server
运行成功。
至此所需环境准备完成
下载安卓应用层抓包通杀脚本:[https://github.com/r0ysue/r0capture](https://github.com/r0ysue/r0capture)
Spawn 模式,直接抓包
Attach 模式,将抓包内容保存成pcap格式文件
建议使用Attach
模式,从感兴趣的地方开始抓包,并且保存成pcap
文件,供后续使用Wireshark进行分析。
导入到Pycharm项目中
安装项目所需的包
在要执行文件r0captue.py
的上一级开启一个命令行或直接cd 到要执行的目录,如下图所示:
在开启的命令行中两种方式的任意一种进行抓包,建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件。
获取应用包名
给应用添加读取存储空间权限
启动frida-server
检查是否启动成功:在电脑上新开一个shell
,运行frida-ps -U
命令,即可显示手机中正在运行的进程。
Spawn 模式,直接抓包
用法:python r0capture.py -U -f com.dianping.v1
Attach 模式,将抓包内容保存成pcap格式文件
先打开需要抓包的应用,然后在命令行输入
python r0capture.py -U com.dianping.v1 -p 123.pcap
在操作想抓包的地方,对应的记录会保存至项目同目录下的pcap文件中
Press Ctrl+C to stop logging.
Ctrl+C 结束,如果数据量很大的话,需要等待一会才能彻底关闭
分析数据
通过上面的方式将抓取到的pcap格式的文件通过Wireshark
打开,选择里面的某条数据内容使用 分析->追踪流->分析抓包数据
即可!如下图所示:
https://download.csdn.net/download/qq_38154948/85061788
本文仅供学习交流使用,如侵立删!
pip install frida
=
=
14.2
.
17
pip install frida
-
tools
=
=
9.2
.
4
pip install frida
=
=
14.2
.
17
pip install frida
-
tools
=
=
9.2
.
4
adb shell getprop ro.product.cpu.abi
adb shell getprop ro.product.cpu.abi
$ adb push frida
-
server
/
data
/
local
/
tmp
/
$ adb push frida
-
server
/
data
/
local
/
tmp
/
$ adb shell
bullhead:
/
$ su
bullhead:
/
root
bullhead:
/
bullhead:
/
data
/
local
/
tmp
bullhead:
/
data
/
local
/
tmp
[
1
]
6669
$ adb shell
bullhead:
/
$ su
bullhead:
/
root
bullhead:
/
bullhead:
/
data
/
local
/
tmp
bullhead:
/
data
/
local
/
tmp
[
1
]
6669
python r0capture.py
-
U
-
f 包名
python r0capture.py
-
U
-
f 包名
python r0capture.py
-
U 包名
-
p 文件名.pcap
python r0capture.py
-
U 包名
-
p 文件名.pcap
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!