Android端抓包方法

By:wangyz

最近这段时间研究抓包发包,汇编可能要推迟一些时间了

做手机测试的同学,肯定都要做一些手机端的抓包测试,看看数据包是否有错误,是否加密之类的,做外挂的也要抓来数据包做做分析。

一般抓包都是在PC机上搭个AP,用Wireshark抓,感觉那种方法有点略麻烦,

 

抓包环境
三星 GT-I8552
Android 4.1.2
百度云ROM 正式版V6(已ROOT)
 
PC端(Windows XP)
1.正确安装手机驱动,手机端打开USB调试
2.Android手机需要先获得root权限。
3.安装 Android SDK (adt-bundle-windows-x86-20131030),并配置环境变量
4.安装 JDK (jdk-7u9-windows-i586),并配置环境变量
5.需要获得tcpdump软件,获取地址(http://www.strazzere.com/android/tcpdump)
 
 
 
安装tcpdump
将Android手机与电脑USB相连,打开windows命令提示符窗口
正常情况下用adb命令就可以把工具直接传到手机当中
>adb push c:/tcpdump /data/local/tcpdump
 
当然如果你用的是像我这种第三方ROM,为了安全root权限都是即时获取的时候,adb可能会失败
1.可以先把tcpdump复制到sd卡上,这个是有读写权限的,
2.>adb shell 进入android shell
3.通过su命令取得root权限,
4.通过cp命令把sd卡的tcpdump复制到/data/local/
 
修改权限
>cd /data/local/
>chmod 777 tcpdump
>tcpdump -h
 
 
这样显示就代表安装成功了
 
 
 
开始抓包
1.进入root权限
>adb shell
$ su
在运行su指令后,手机终端桌面可能会出现相应提示信息以确认您对root操作的认可,不同手机可能会有不同的提示
当提示符变成#时,root权限获得成功
2.运行tcpdump,输入以下命令启动抓包。
>cd /data/local
>tcpdump -p -vv -s 0 -w /mnt/sdcard/capture.pcap
-p  混杂模式
-vv  详细输出设置
-s 0  抓取数据包时默认抓取长度为68字节
-w  保存抓取的数据包
Got 后面数字的时候表示开始抓包了,可以执行Ctrl+C中断抓包进程
 
3.将抓包结果复制至本地
>adb pull /mnt/sdcard/capture.pcap c:/
或者直接进入sd卡拖拽
 
8. 使用Wireshark等工具查看抓包文件capture.pcap
 
 
 
 
数据包分析
游戏:冰雪奇缘  (360的游戏)(消除类)
 
 
Host: frozenandroid.microfunplus.com
看到这个host很明显frozen就是冰雪奇缘的英文名,这个host就是数据包的请求地址
IP:203.81.20.77
 
 
 
 
 
Host: frozenandroid.microfunplus.com..
Connection: Keep-Alive..
Accept-Encoding: gzip..
Content-Length: 374....
deviceId=a6cf255e89f1e39d
&openId=mfpUnityEditorVendorID
&channelName=360
&data=4EE37E578D960D6D99BE9E6DEA8..............     加密的数据,不知道加密方式,无法反破解,目测应该是DES或者MD5
&cmd=login
&auth=1206852048
&userId=3232130
 
 
利用方式
1.发送一模一样的包做试探性的攻击,看看服务器的返回数据,成功率比较低
2.将数据包拦截后对服务器进行延迟再发,这种方式对于没对数据包加时间戳的游戏比较好用
3.通过hook函数截取加密前的数据包
4.暴力破解加密数据
posted @ 2014-05-05 10:10  师傅被妖怪抓走了  阅读(6096)  评论(1编辑  收藏  举报