首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android抓包技术

Android抓包技术

作者头像
先知先觉
发布2019-01-21 15:29:02
2.7K0
发布2019-01-21 15:29:02
举报

前言

首先我们需要明确抓包的目的:

  • 1、分析数据传输协议
  • 2、定位网络协议的问题
  • 3、从数据包中获取想要的信息
  • 4、 将截取到的数据包进行修改,伪造,重发

举个栗子: 电话会议通话中,此时通话突然异常中断。查看日志后发现没有收到心跳response回应,那么此时就需要抓包,来确认对方设备是否发送了response信息,从而来确定问题根源。

抓包的几种方式:

1、电脑开放热点,手机连接电脑热点,通过charles或wireshark

charles的有点不言而喻,简单,上手快,但是只能抓取HTTP协议。 wireshark功能强大,学习成本比较高,但是可以抓取TCP、UDP协议满足我们现有业务需求。

具体步骤:

1、把电脑的网络做为热点 2、开启wifi热点后,被测设备连接到该热点; 3、启动wireshark/charles,选择做为热点的网卡,开始抓包; 4、操作手机,可以抓取到手机所有与网络交互的数据包 5、操作结束后停止抓包即可。

以上方式对于我们目前的开发条件来说局限性较大,目前没有笔记本可以开启热点供抓包(笔记本开启热点需要申请权限)

2、tcpdump

安卓tcpdump下载地址https://download.csdn.net/download/github_33304260/10820344

此方式使用有个前提就是待抓包设备必须具有root权限,因为我们需要往data/local下写入文件,如果非eng版本或非root版本会遇到权限问题,如下如图:

在这里插入图片描述
在这里插入图片描述

接下来开始我们的抓包

1、下载tcpdump文件

2、将下载好的tcpdump文件,放入设备的data/local下

执行如下命令:

adb push 路径:/tcpdump /data/local

eg:adb push  c:/tcpdump /data/local

3、进入shell

输入如下命令进入shell

adb shell

4、给tcpdump分配权限

进入/data/local目录下,执行如下命令:

chmod 777 tcpdump

对linux权限不太清楚的同学可以自行google

5、开始抓包

/data/local目录下输入如下命令:

./tcpdump -p -s 0 -w 文件名.cap

eg:抓包并写入文件名为text.cap

./tcpdump -p -s 0 -w test.cap
在这里插入图片描述
在这里插入图片描述

看到如上命令说明抓包成功,可以坐等。

6、结束 等待抓包结束后,直接按ctrl+c 结束抓包

在这里插入图片描述
在这里插入图片描述

看到上图说明成功结束此次抓包。 7、退出sehll

执行如下命令:

exit

8、导出cap文件

执行如下命令:

adb pull cap文件路径 将要保存的路径

eg:将/data/local/下的text.cap文件导出到d盘workSpace文件夹下

adb pull /data/local/test.cap D:\workSpace

附录:常用的tcpdump命令

-a:尝试将网络和广播地址转换成名称;
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F<表达文件>:指定内含表达方式的文件;
-i<网络界面>:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q :快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件读取数据包数据;
-s<数据包大小>:设置每个数据包的大小;
-S:用绝对而非相对数值列出TCP关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt: 在每列倾倒资料上显示未经格式化的时间戳记;
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w<数据包文件>:把数据包数据写入指定的文件。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 抓包的几种方式:
    • 1、电脑开放热点,手机连接电脑热点,通过charles或wireshark
      • 2、tcpdump
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档