抓包前准备
原料
1.预抓包的App一个(我们以app抓包为例)
2.已配置android sdk
3.分析软件Wireshark(Windows版)
4.抓包命令:tcpdump
5.模拟器或真机(以模拟器为例,真机需root)
抓包准备
首先我们先配置下环境变量
1.先来个ANDROID_HOME:SDK的路径,类似于JAVA_HOME。(一劳永逸,以后安装到别的路径,改变一下HOME路径就行)
2.把sdk路径下的platfrom-tools和tools添加到环境变量
配置好就可以用adb命令了
3.安装我们的原料app(以实际要抓的app为主)。为防止侵权,这里我就随便抓取手机上的数据包。
4.打开命令行,执行adb shell,进入android的shell环境,执行su切换到root用户。
开抓
1.执行tcpdump命令
tcpdump可以将网络中传送的数据包完全截获下来提供分析。
tcpdump -i any -p -n -s 0 -w /sdcard/capture.pcap
//或
/data/local/tcpdump -i any -p -n -s 0 -w /sdcard/capture.pcap
以上命令将截获的数据包保存到sdcard,capture.pcap抓取是数据包,pcap为Wireshark分析文件的后缀。
这时抓包就开始了,在手机上刷新几下要抓取数据的app。
抓完之后按ctrl+c停止抓包
2.将抓取的数据导出到电脑上(从sdcard导出到电脑上分析)
退出android shell环境(命令行输入两次exit),回到Windows环境。
接着执行
adb pull /sdcard/capture.pcap d:/capture.pcap
导出刚才抓到的文件到电脑d盘。(如果导出失败,自己手动把抓包数据复制到电脑上)
或者通过DDMS导出到电脑
3.Wireshark打开刚才获取到的.pcap文件
过滤出http
点击某一个抓到的http包,可以查看它的详细信息(自己判断一下可能是哪个域名)
我们可以看到是get请求
复制出来去请求一下(右键->复制->值)
去浏览器中请求
再结合app,看看是哪个界面的内容
4.新建个文本文件,保存抓到的借口。例如:
看看请求出来ip地址,顺着ip找出所有的api借口
54开头的就是我要抓的app。