Wireshark-配合tcpdump对Android(安卓)手机抓包
环境:Windows, 安装真机(可以获取Root权限), adb, Wireshark, tcpdump
原理: 使用 tcpdump 进行抓包, 然后用 Wireshark 进行分析
1.获取手机Root权限, 可以使用刷机精灵等
2.安装android usb windows(Windows环境Android系统手机USB驱动程序)
1).下载此驱动程序
2).把手机用USB连接到电脑
3).我的电脑->右键->设备管理器->便携设备->更新驱动程序->浏览(刚下载的驱动)
3.下载安装 adb (点我下载)
把adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll复制到 C:/Windows/System32目录下, 即可在 DOS 命令下使用 adb 命令
4.下载 tcpdump(点我下载), 并使用 adb push 命令上传到手机目录(查看手机目录 可以使用 adb shell 进入命令行模式使用 ls 等查看)
adb push tcpdump所在目录 tcpdump要放到手机中的目录
如果此时出现 "failed to copy 'XXX' to 'XXX': Permission denied"错误, 可以换个手机目录进行推送
5.执行手机中的 tcpdump 文件
adb shell #进入手机的 shell 命令行模式
su #使用 Root 权限, 此时手机会提示是否给予 Root 权限
./tcpdump -p -vv -s 0 -w capture.pcap #开始抓包 保存到 capture.pcap 文件
如果此时出现: "tcpdump: cannot execute - Permission denied" 是文件操作权限不够引起的, 因为某个目录时作为一个分区挂载到文件系统的, 所以要看看挂载到文件系统的权限, 输入 mount 命令查看, 出现一个ro的话表示已只读方式挂载, 此时还不能写入文件, 需要重新挂载, 可以使用如下语句对此文件系统的权限进行修改
mount -t yaffs2 -o remount,rw,noatime,nodiratime /storage/sdcard0 #其中 /storage/sdcard0 可以更改为你的 tcpdump 文件所在文件系统
6.从手机导出 tcpdump 的抓包文件
adb pull 手机某个目录/capture.pcap 电脑目录
7.用wirshark分析(用wirshark打开6中从手机导出到电脑的文件)