Android抓包方法Tcpdump+Wireshark

[目录]

1、抓包原理

2、方法优劣

3、安装准备

4、工具安装

5、实例

1、抓包原理
tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。
官方网站: http://www.tcpdump.org
tcpdump文件下载地址 http://www.strazzere.com/android/tcpdump

2、方法优劣
[优点]:
1).手机数据包无遗漏

[缺点]:
1).基本只能针对Android手机
2).不能实时抓包
3).电脑需要安装Android SDK
4).电脑需要安装Wireshark
5).测试手机需要获取root权限
6).测试手机需要安装tcpdump软件

3、安装准备
1).手机获得root权限
2).电脑安装Android SDK
3).手机安装tcpdump软件

4、工具安装
1).Android手机USB连接电脑,打开Windows命令提示符窗口;

2).检查手机连接是否正常;

adb devices #检查手机是否已连接

注1:已检查到手机连接正常

问题1:adb devices不可用 解决:检查环境变量是否配置正确。

问题2:检不到手机为空 解决:1、驱动是否安装;2、如有装腾讯手机管家,把tadb.exe进程给卡擦掉。

3).adb shell 进入手机修改 /data/local/ 目录的权限为所有用户可写;

adb shell #登入手机
su #切换Root用户
chmod 777 /data/local/ #修改目录权限,修改后Ctrl+C退出adb shell

4).将tcpdump程序copy至android手机;

adb push E:\tcpdump /data/local/ #tcpdump文件存放在E盘根目录,/data/local/为手机目标路径

5).进入手机修改tcpdump权限,增加可执行权限;

adb shell #登入手机
su #切换Root用户
chmod 777 /data/local/tcpdump #增加可执行权限

注:/data/local/为了安全起见,建议把权限改回原先权限

5、实例
1).连接手机,切换Root用户,执行抓包命令
adb shell #登入手机
su #切换Root用户
/data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap #执行抓包命令,结果保存到SD卡ThinkDrive.pcap文件中
注:如果操作完成,不需要再抓包,则按Ctrl+C中断抓包退出

2).APP操作,生成一些请求数据

3). 导出抓包结果至电脑

adb pull /sdcard/ThinkDrive.pcap E:/ #前为手机中文件及存放路径,后为电脑E盘根目录

4). 使用Wireshark等工具分析抓包文件ThinkDrive.pcap

你可能感兴趣的:(Android抓包方法Tcpdump+Wireshark)