Android 网络开发抓包工具Fiddler、tcpdump和Wireshark的使用
这篇文章会按照下面思路来进行描述:
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的使用相关推荐
- 网络抓包工具 Fiddler
网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简介 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的ht ...
- 【爬虫】网页抓包工具--Fiddler
[爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...
- 抓包工具Fiddler使用(主要用于监听APP对外访问请求)
一.介绍 本人最近在做android开发,有时会遇到线上APP版本显示的数据"不符合预期",查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此 ...
- 抓包工具 - Fiddler
一. 抓包的定义 就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全. 抓包也经常被用来进行数据截取等. 二. 抓包的作用 定位网络接口问题 分析其他APP数据接口 ...
- 抓包工具 - Fiddler(详细介绍)
原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...
- 功能测试与抓包工具Fiddler(http与fiddler)
文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...
- 【解决抓包工具fiddler不抓取360浏览器的数据的问题】
抓包工具fiddler不抓取360浏览器的数据 fiddler可以抓到Firefox浏览器的包,但是抓不到360浏览器的包. 操作步骤: 打开Fiddler -> 菜单栏 工具(Tools )- ...
- api 数据 App 抓包工具 fiddler
from : http://www.heyuan110.com/2015/06/17/App抓包工具fiddler/ App抓包工具fiddler Charles fiddler 抓包 确保安装 ...
- 使用抓包工具fiddler和apipost进行接口测试
一.进行接口测试准备的东西 1.接口测试工具:apipost.jmeter等 2.接口文档,没有接口文档就用接口信息获取工具 3.接口信息收取工具:fiddler抓包工具.浏览器开发者工具(f12)等 ...
最新文章
- pandas 保留小数位数
- 一个关于linux文件预读机制问题
- Linux深入理解Socket异常
- 奇异值分解(SVD)原理与在降维中的应用
- 让这三个月来的更猛烈些吧,前端react同构项目
- linux下mysql5.7的安装教程_linux下mysql 5.7.18安装教程 邯郸
- 一加8系列新机有望亮相CES 2020:全系支持5G网络
- Cosmos OpenSSD--greedy_ftl1.2.0(二)
- ubuntu 20.04 美化开机动画
- 《yes!产品经理》(上册)读书笔记(完结)
- 最详细最好的Multisim模拟电路仿真教程(附视频教程)
- 百度网盘链接在线解析网站_利用在线服务下载百度网盘的文件
- Navicat数据库查询时字体
- 总体规划计算机制图标准,国土空间规划计算机辅助制图标准来了
- 使用Mininet创建Topo
- java中的标号:outer的作用
- JAVA 中文汉字转换阿拉伯数字(最终版,已修复了亿及亿以下的汉数字的转换,超过后的数字,暂时不支持)
- 栈的存储——顺序存储与链式存储
- Cyanine7 NH2|分子式C43H60Cl2N4O|分子量719.87|保存条件
- 【✨十五天搞定电工基础】一阶电路的暂态分析
热门文章
- 视觉树和逻辑树的概念
- Linux下基于SDL库贪吃蛇游戏
- 《信用风险评分卡研究——基于SAS的开发与实施》学习笔记(1)
- python matplotlib 绘制二维数据中某些列到折线图,没有线的解决方法
- C++ 哈希表及unordered_set + unordered_map容器
- 蓝桥杯真题 19省Ca3-最大降雨量 由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。 这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个数字。法术一
- C语言:学生成绩管理系统
- Python之文件 打开与关闭
- 一对一直播交友APP的核心开发要点,小而美的APP出路吗?
- snap7-c++/MFC开发笔记