说说为啥发现这么个蛋疼方法。昨晚上想测试一个手机app的安全问题,想进行网络抓包。然后mac没法插网线不能开WiFi共享,无法通过在mac上抓包实现了。然后用freebsd虚拟机想试试混杂模式看能不能获取到,搞了半天没成功,今天也没再试。mac好像还不支持混杂模式。然后搜索发现网上有一种代理的方法,看看头就大了。又发现一种使用安卓sdk里的工具进行抓包的方法,试用了一下。
安卓手机usb连接电脑,这个在android studio里会显示,直接插入,在mac下以前都没反应。
adb工具目录在 ~/Library/Android/sdk/platform-tools/adb 。
然后使用./adb devices 可以查看当前连接的手机设备
然后 ./adb push /Users/a0x55aa/Downloads/tcpdump /data/local/tcpdump
1673 KB/s (645840 bytes in 0.376s)
copy到手机上
./adb shell 连接到手机的shell上,可以先ls一下刚刚拷贝的tcpdump是否在,然后附上执行权限 chmod 777 /data/local/tcpdump
然后tcpdump -i any -p -s 0 -w /sdcard/capture0.pcap抓包,操作手机,完毕后停止
对 整个操作要root权限,我手机已root,adb shell的时候就已经是root用户了。。
最后 在你电脑的shell上执行./adb pull /sdcard/capture0.pcap ~/
3333 KB/s (165496 bytes in 0.048s)
将抓取的包文件 下载下来
用Wireshark分析就行了。
安卓开发还没研究,应用的信息有一个重要目录 /data/data/app_name/ 记录一下。
Read more...