学习使用Android开发的工程师们,对于抓包这个东西应该不会陌生,嘿嘿,很多时候,我们要去抓取看看手机到底向外界发送了什么信息。今天,我来跟大家聊聊,如何在Android上抓包。
1、抓包前准备工作
1.1 抓包开始之前,我们要下载tcpdump这个东西和wireshark分析协议的软件
1.2 下载完成之后,tcpdump放在一个我们可以找到的目录下(我的放在D盘根目录下),然后我们要安装wireshark。
2、抓包开始的工作
2.1 找到我们的adb命令在哪个目录下,我的在D:\android4.4\sdk\platform-tools
2.2 使用push命令将tcpdump文件传到手机/data/local/目录下
adb push D:/tcpdump /data/local/tcpdump
2.3 然后修改tcpdump文件的权限
adb shell chmod 6755 /data/local/tcpdump
2.4 开启shell命令,进入shell命令行
adb shell
2.5 进入到tcpdump所在的目录,即为/data/local/tcpdump
cd data/local
2.6 现在一切准备就绪,可以开始抓包了,在命令行敲入如下命令:
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
注意:本句话的意思是,使用tcpdump抓包,然后将抓取到的信息,存放在SD卡上的capture.pcap文件中。
2.7 当需要抓包的动作完成之后,使用停止抓包的快捷键Ctrl+C,我们会回到最开始的命令行模式,如下:
3、抓包后工作
3.1 导出SD卡上的capture.pcap文件,使用如下命令:
adb pull /sdcard/capture.pcap E:/
注意:本段代码是将capture.pcap文件拉出来,放在E盘的根目录下。
3.2 打开wireshark工具,对刚才的文件进行分析,在下方的filter中输入http,然后回车即可看到http请求:
4、注意事项
4.1 在输入adb命令行的时候,可能会出现如下提示错误
adb opendir failed ,permission denied
这个时候,我们只需要敲入su命令即可,但是要记得在手机上,允许开启root权限。
4.2 有不熟悉wireshark如何使用的小伙伴,可以查看下面链接中的文章:
以上即是Android抓包的全过程,欢迎交流。