这篇文章会按照下面思路来进行描述:

1、为什么需要抓包;

2、怎样抓包;

3、报文的简单分析;

(ps 文章中提到的设备指的android系统的设备)

一、为什么需要抓包

网络通信的时候,上层经常会用到http相关的协议,现在网络通信的开源框架也比较多,类似okhttp这些框架已经为我们提供了非常简单的接口,可能只需要一行代码就能实现简单的上传等功能。

网络各个协议层之间的通信是通过报文来进行传递,每个协议层会有自己的报文格式。有时候我们需要确认发送或者接收到的报文信息是否正确,这时就需要抓包进行分析。其实还有很多场景会用到抓包,类似想通过php下载某个网站上的视频,这时也可以抓包,看下网站请求的信息,可以知道相关视频的实际访问地址。

我自己个人用到抓包,是在写socket通信的时候用到了,2台设备之间通过udp进行通信,然后一边是android系统,一边是linux系统,报文内容是根据项目需要定义的一套协议。在开发的时候,遇到2边联调时,对接收和发送的报文存在争议,这时抓包就是最好的方式了,以实际抓包内容为准。

二、怎样抓包 && 如何简单分析报文

Android上抓包的很多工具,也有很多种方式,下面只介绍我自己使用过的2种。一种是pc端安装fiddler工具,在电脑端实时查看网络报文情况,另一种是通过tcpdump命令来抓包,然后再使用wireshark软件来分析报文。实际上我使用第二种方式比较多,直接通过命令来抓包还是比较方便点,抓到的包也可以发给其它同事一起分析。

1、采用fiddler工具

使用fiddler工具是需要设备端的ip和电脑端ip在同一网段,如果是公司的统一wifi,那pc和设备都连上公司wifi即可。然后设备端连接的wifi代理还需要设置为电脑端ip,这个目的也很明显,设备端wifi代理设为pc端ip后,设备端访问网络,其实都是借助p c端出去的了,所以通过fiddler就能很方便的查看到网络访问情况。

好了,了解了关于fiddler的基本情况,下面动动手,搞起来吧~~

1) pc端安装fiddler工具(这个就自行下载安装了);

2)  ipconfig 查看电脑端 ip,这个ip地址就是设备端连接的wifi需要设置的代理ip;

3)  设备端连接wifi,这个wifi需要和p c端的网络是同一网络,然后设置代理采用pc端ip(也就是上面通过ipconfig查看到的ip地址);

4)  打开pc端安装的fiddler,fiddler中设置允许远程访问;

5) 经过上面几个步骤,下面就可以使用fiddler来查看网络报文了。可以试下在设备端访问网络,这时就可以在fiddler上看到网络访问情况了;

(下面的截图,是查看了喜马拉雅app的一次请求报文情况)

   2、下面接着来看下第二种方式,采用tcpdump命令抓包,然后通过wireshark软件进行分析

1)  tcpdump抓包命令

tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

2)  使用wireshark分析抓到的包

在window上使用 wireshark打开抓取的包 ***.pcap 文件.

下面的截图,是根据自己的需要,筛选了 192.168.7.2 发送给 192.168.7.3 的包. 可以看到协议是采用的 UDP ,端口是使用的4052.

点开其中一条数据包看下更具体的信息,这里更多时候关心的的是报文数据部分,查看Data部分的数据,可以排除我们发的报文数据是否正确.

------- 2020.01.12 周日

欢迎关注我的个人微信公众号,公众号会记录自己开发的点滴,还有日常的生活,希望和更多的小伙伴一起交流~~

(ps:本人目前在深圳上班)

Android 网络开发抓包工具Fiddler、tcpdump和Wireshark的使用相关推荐

  1. 网络抓包工具 Fiddler

    网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简介 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的ht ...

  2. 【爬虫】网页抓包工具--Fiddler

    [爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...

  3. 抓包工具Fiddler使用(主要用于监听APP对外访问请求)

    一.介绍 本人最近在做android开发,有时会遇到线上APP版本显示的数据"不符合预期",查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此 ...

  4. 抓包工具 - Fiddler

    一. 抓包的定义 就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全. 抓包也经常被用来进行数据截取等. 二. 抓包的作用 定位网络接口问题 分析其他APP数据接口 ...

  5. 抓包工具 - Fiddler(详细介绍)

    原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...

  6. 功能测试与抓包工具Fiddler(http与fiddler)

    文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...

  7. 【解决抓包工具fiddler不抓取360浏览器的数据的问题】

    抓包工具fiddler不抓取360浏览器的数据 fiddler可以抓到Firefox浏览器的包,但是抓不到360浏览器的包. 操作步骤: 打开Fiddler -> 菜单栏 工具(Tools )- ...

  8. api 数据 App 抓包工具 fiddler

    from   :  http://www.heyuan110.com/2015/06/17/App抓包工具fiddler/ App抓包工具fiddler Charles fiddler 抓包 确保安装 ...

  9. 使用抓包工具fiddler和apipost进行接口测试

    一.进行接口测试准备的东西 1.接口测试工具:apipost.jmeter等 2.接口文档,没有接口文档就用接口信息获取工具 3.接口信息收取工具:fiddler抓包工具.浏览器开发者工具(f12)等 ...

最新文章

  1. pandas 保留小数位数
  2. 一个关于linux文件预读机制问题
  3. Linux深入理解Socket异常
  4. 奇异值分解(SVD)原理与在降维中的应用
  5. 让这三个月来的更猛烈些吧,前端react同构项目
  6. linux下mysql5.7的安装教程_linux下mysql 5.7.18安装教程 邯郸
  7. 一加8系列新机有望亮相CES 2020:全系支持5G网络
  8. Cosmos OpenSSD--greedy_ftl1.2.0(二)
  9. ubuntu 20.04 美化开机动画
  10. 《yes!产品经理》(上册)读书笔记(完结)
  11. 最详细最好的Multisim模拟电路仿真教程(附视频教程)
  12. 百度网盘链接在线解析网站_利用在线服务下载百度网盘的文件
  13. Navicat数据库查询时字体
  14. 总体规划计算机制图标准,国土空间规划计算机辅助制图标准来了
  15. 使用Mininet创建Topo
  16. java中的标号:outer的作用
  17. JAVA 中文汉字转换阿拉伯数字(最终版,已修复了亿及亿以下的汉数字的转换,超过后的数字,暂时不支持)
  18. 栈的存储——顺序存储与链式存储
  19. Cyanine7 NH2|分子式C43H60Cl2N4O|分子量719.87|保存条件
  20. 【✨十五天搞定电工基础】一阶电路的暂态分析

热门文章

  1. 视觉树和逻辑树的概念
  2. Linux下基于SDL库贪吃蛇游戏
  3. 《信用风险评分卡研究——基于SAS的开发与实施》学习笔记(1)
  4. python matplotlib 绘制二维数据中某些列到折线图,没有线的解决方法
  5. C++ 哈希表及unordered_set + unordered_map容器
  6. 蓝桥杯真题 19省Ca3-最大降雨量 由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。 这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个数字。法术一
  7. C语言:学生成绩管理系统
  8. Python之文件 打开与关闭
  9. 一对一直播交友APP的核心开发要点,小而美的APP出路吗?
  10. snap7-c++/MFC开发笔记