使用tcpdump抓Android网络包

时间:2022-12-17 08:37:45

1 抓包原理

tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。

2 方法优劣

2.1优点

1.手机数据包无遗漏

2.2缺点

1.不能实时抓包

2.电脑需要安装Android SDK

3.测试手机需要获取root权限

4.测试手机需要安装tcpdump软件

3 安装准备

3.1手机获取root权限

目前针对android手机的Root工具很多,网上下载任意刷机工具,比如刷机精灵、一键ROOT等等

3.2电脑安装Android SDK

下载地址 http://developer.android.com/sdk/index.html

解压下载的文件进行安装,再配置环境变量即可,目前同事电脑基本均已安装配置此环境。

3.3手机安装tcpdump

tcpdump下载地址:   http://www.strazzere.com/android/tcpdump

4 工具安装

1.Android手机USB连接电脑,打开Windows命令提示符窗口;

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

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

*执行记录*:

使用tcpdump抓Android网络包

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

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/为手机目标路径

也可通过文件浏览器工具拷贝文件;

*执行记录*(第3步至第4步)

使用tcpdump抓Android网络包

5.adb进入手机修改tcpdump的权限,修改为可执行权限;

adb shell   #登入手机

su          #切换Root用户

chmod 777 /data/local/tcpdump    #增加可执行权限

5 实例

1.usb连接手机,切换root用户,执行抓包命令

adb shell   #登入手机

su          #切换Root用户

/data/local/tcpdump -p -vv -s 0 -w /sdcard/Mcart001.pcap   #执行抓包命令,结果保存到SD卡Mcart001.pcap文件中

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

使用tcpdump抓Android网络包

3. 按Ctrl+C中断抓包退出

4.导出抓包结果至电脑

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

使用tcpdump抓Android网络包

5.使用Wireshark等工具分析抓包文件Mcart001.pcap

使用tcpdump抓Android网络包