A. 【干货】保姆级系列教程-玩转Charles抓包神器教程
Charles作为一款强大的抓包工具,能够截获包括浏览器、智能手机(如Android和Windows Phone)在内的设备发出的HTTP/HTTPS请求。本文将详细介绍如何在Android移动端设置Charles进行抓包。
要实现手机抓包,需要以下条件:安装Charles工具,确保电脑和手机在同一网络,手机网络代理设置为Charles,且在Charles中开启HTTPS捕获功能。宏哥的环境是Windows 10 64位系统,配合夜神模拟器的安卓5.1.1版本进行演示。
通过浏览器和APP测试抓包,确认HTTP和HTTPS数据包是否被正确捕获,如有防火墙问题需关闭后重试。
Android手机需要配置Charles的证书以抓取HTTPS数据,通过输入特定网址下载并安装证书。
Charles的证书对应特定电脑IP,更换电脑需要重新安装对应IP的证书。本文提供的步骤适用于Android 5.1.1及以上版本,对于Android 7.0和Fiddler的设置类似,但具体操作略有不同。
B. 如何在 Android 手机上实现抓包
Android系统手机端抓包
方法一、抓包准备
1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted。
2. 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Framework)。
3. 需要先获得 Android SDK,Android的开发环境。
4. 需要获得tcpmp软件。
二、抓包步骤
1. 将Android手机与电脑USB相连,打开windows命令提示符窗口。
2. 将tcpmp程序至android手机(该命令前面那个目录文件为本地地址,后面那个目录为目的手机端地址)。C:\android-sdk-windows\platform-tools>adb push c:/tcpmp /data/local/tcpmp
3. 修改tcpmp的权限。C:\android-sdk-windows\platform-tools>adb shell #chmod 777 /data/local/tcpmp
4. 进入root权限 C:\android-sdk-windows\platform-tools>adb shell,执行$ su ,在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可。
5. 运行tcpmp,输入以下命令启动抓包。/data/local/tcpmp -p -vv -s 0 -w /sdcard/capture.pcap。
6. 在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程。
7. 将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址),C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/
8. 使用Wireshark等工具查看抓包文件capture.pcap。