使用tcpdump抓取Android系统手机数据包

时间:2024-05-21 08:38:54

一说到抓包工具大家可能会想到wireshark、tcpdump、fiddle等工具。wireshark功能很强大在windows下使用很方便,对linux下进行抓包可以使用tcpdump进行抓包后用wireshark来分析。但是现在手机端普遍流行,想要抓取手机端的数据包怎么办呢,现在就介绍下本人使用tcpdump方法在安卓手机上抓取数据包。本案例只适合安卓手机

抓包准备
1. Android手机需要先获得root权限。验证root权限:安装并打开终端模拟器(可通过安卓市场等渠道获得,例如魅族手机可以下载Shell Terminal Emulator,Opp手机可以下载终端命令行)。打开终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为root;
2. 如果android手机尚未root,需要进行root刷机获取,网上自行找解决方案。
3. windows下需要先获得 Android SDK,搭建安卓环境
下载地址:http://tools.android-studio.org/index.php/sdk,并安装对应安卓系统,本人安装了安卓5.1,安装后进行验证确认adb是否安装,后续需要用adb进行操作。如下截图供参考:
使用tcpdump抓取Android系统手机数据包

4、需要获得tcpdump软件,获取地址(http://www.strazzere.com/android/tcpdump),注意是右键另存为
抓包步骤
1. 将Android手机与电脑USB相连,安卓手机打开usb调试模式,打开windows命令提示符窗口cmd
2. 将tcpdump程序copy至android手机(该命令前面那个目录文件为本地地址,后面那个目录为目的手机端地址)此处要在cmd窗口中切换到adb目录
C:\android-sdk-windows\platform-tools>
adb push c:/tcpdump /data/local/tcpdump
C:\android-sdk-windows\platform-tools>adb shell
3. 进入root权限
C:\android-sdk-windows\platform-tools>adb shell
$ su
在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可。
4. 修改tcpdump的权限
chmod 777 /data/local/tcpdump
5. 运行tcpdump,输入以下命令启动抓包。
tcpdump -i any -s 0 -W 10M -w /sdcard/capture.pcap
(可以在将tcpdump以后台守护进程模式运行)
6. 在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程
7. 将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)
C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/(此处操作失败)
8. 使用Wireshark等工具查看抓包文件capture.pcap