android adb shell 笔记

最近想在android手机上试下网络抓包 然后晚上都说用tcpdump。

不幸的是研究了两天我那手机死活还是不行,先告一段落把,但是中间还是有很多值得记录下。

======================== adb 简介=================================

先说adb把 具体就不解释了可以自己google下,简单说就是连接android 的一个shell。

对于不同的android希望用相应sdk里的adb。每个版本的sdk在http://developer.android.com/sdk/index.html 找找。

下载好后 在\sdk\platform-tools 里有adb.exe 直接在cmd下 执行 adb shell就可以进入了。

连接进去后 su 就可以获取root权限 

1|shell@android:/ $ su
shell@android:/ #

 $变#号就说明成功  当然要获取root权限自己要先手机root了.

===========================busybox =====================================

进去之后你会发现很多我们linux shell里常用的命令在adb里都没有。

比如 cp vi 都不存在。

我们可以安装下 busybox  

下载地址http://www.busybox.net/downloads/binaries/

当然根据手机咯 一般arm的cpu就选 armv6l 就行

adb push busybox /mnt/sdcard

adb shell

su

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

cp /mnt/sdcard/busybox /system/xbin

如果没有cp命令就 用 cat /mnt/sdcard/busybox > /system/xbin

chmod 755 busybox

在 /system/xbin 下输入

 busybox --install /system/xbin

具体看这篇 

为Android安装BusyBox —— 完整的bash shell

================================putty 连接 adb shell==========================

在我们有了正行的shell之后你会发现在windows上 用cmd 的client 在操作简直是噩梦 首先字符编码不对 你会发现当你vi一个文件 时无法操作,其次没有tab什么自动补全,复制黏贴什么就不说了。

后来找到了一篇文件介绍怎么用putty来连接  adb 的。

文章地址:http://forum.xda-developers.com/showthread.php?t=803225

下载 adbputty http://github.com/sztupy/adbputty/downloads

-连接方式选择 adb

-host上填"transport-usb"  引号不要(或者是别的连接字符串 具体查看 adb sockey interface 的文档)

-端口填 5037

-连接

当然之前你先保证你在cmd 里 adb shell能连接的上。

=================================BlueStacks =========================

经过一番努力后,我启动 tcpdump 始终返回给我

shell@android:/system # ./tcpdump

tcpdump: no suitable device found

我网上了很久都说是 没有root权限 但是我发现我su后居然能删除 root的文件  无奈还是放弃了在手机上装tcpdump的想法。

后来我换了个思路 想在windows上执行 apk文件 然后监控 pc的网卡 也是可以起到抓包的效果的,后来我就找到了BlueStacks 。简单讲就是一个android虚拟机,下载好安装后直接可以运行了,不用去装个什么eclipse 和 sdk了。而且也可以直接双击 运行 apk文件来安装到 虚拟机里运行,挺方便的。

一切搞定后就开始抓包了,体力活,用了网上说的Wireshark 不过个人觉得用气来一般。回头再找找别的。

虽然这几天最后没有实现在android上装tcpdump在抓包的任务,但最后也算曲线救国了下,后面就是慢慢研究抓到的数据了。

猜你喜欢

转载自pako.iteye.com/blog/1857786