Linux 环境下Android Tcpdump 抓取网络包
抓取手机的网络包,是咱们程序员很多时候需要做的事。但我的抓包之路并不是那么顺利。
手机网络抓包需要三个工具:
1.ADB :一般是从Android SDK中获取
2.root 工具:psneuter ,可以从很多地方下,咱们是实诚人,就把附件也发上去。/Files/taofh/psneuter.zip
3.tcpdump :网络抓包工具。可以下载附件(下载后,去掉后缀名.txt,问题是这里只能上传特定后缀名的文件,所以我只好加了个后缀".txt"):/Files/taofh/tcpdump.txt
想抓包,一般使用以下步骤。
1.获取root 权限:
使用psneuter。其实就四步。
第一步:解压psneuter.zip
第二步:把解压后的psneuter 拷贝到手机,一般使用/data/local/tmp ,当然也可以是Sdcard ,根据个人需要而定
第三步:为psneuter添加运行权限。简单的是使用chmod 777 ,如果想知道chmod具体授权方式的话,可以查看linux 手册。777为最大权限,也是最不安全权限,不过无所谓了。
第四步:运行psneuter 完成root权限的获取工作
以下为示例代码:
adb push <本地解压后的psneuter> /data/local/tmp/
adb shell
$chmod 777 /data/local/tmp/psneuter
$/data/local/tmp/psneuter
$exit
adb shell
#
adb shell
$chmod 777 /data/local/tmp/psneuter
$/data/local/tmp/psneuter
$exit
adb shell
#
2.抓包:抓包工作更加简单。
第一步:把tcpdump 拷贝到手机
第二步:给tcpdump 授权chmod 777 <文件路径/tcpdump>
第三步:使用tcpdump 抓包并查看包内容
以下是示例代码:
adb push <tcpdump> /data/local/tmp
adb shell
#chmod 777 /data/local/tmp/tcpdump
#/data/local/tmp/tcpdump -A -n -s 1024
adb shell
#chmod 777 /data/local/tmp/tcpdump
#/data/local/tmp/tcpdump -A -n -s 1024
OK,咱们就可以根据抓到的包来进行分析了。