如何捕获Android数据包
一、移动设备访问网络原理
先看看移动设备是怎么去访问网络,如图1所示,可以看到,移动端的数据包是从wifi出去的。
图1(移动设备访问网络)
所以我们可以把自己的电脑开启热点,将手机连上电脑,本机的Fiddler开启代理后,让这些数据通过Fiddler,那Fiddler就可以抓到这些包,然后发给路由器,如图2所示
图2(设置)
二、Fiddler抓取android数据包所需条件
1、电脑需要安装Fiddler
2、测试手机需要支持Wifi
3、测试手机与电脑需要同一网络
4、所测APP需支持代理
注:Iphone、Ipad、WinPhone等支持代理手机均适用
三、下面介绍一下Fiddler和Android需要怎么设置
1、首先电脑开启wifi热点
电脑可下载一个wifi软件,我这里用的是猎豹wifi,如图3所示,电脑已经开启了wifi热点后
图3(手机连接电脑的wifi)
2、设置Fiddler的代理端口
Tools –> Options-> Connections,设置代理端口:8888, 勾选 Allow remote computers to connect,即允许远程计算机连接Fiddler,如图4所示
注:8888为默认端口号,可修改,但需注意两点,一是本机空闲端口,二是手机代理设置时要与fiddler的端口一致。
图4(设置fiddler的代理端口)
3、设置解密HTTPS的网络数据
Tools –> Options-> Https,勾选"Decrypt HTTPS traffic"、"Ignore server certificate errors",如图5所示
图5(设置解密https的网络数据)
4、查看本机的无线网卡IP
设置了上面的步骤后,就可以在 Fiddler看到自己本机无线网卡的IP了(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP,注:一定要开启本机的wifi热点),如图6所示
图6(在fiddler查看本机的无线网卡IP)
也可以在CMD中查看本机网卡的IP,输入命令:ipconfig,如图7所示
图7(ipconfig查看本机无线网卡IP)
5、手机连接本机的Wifi,并设置代理
每个品牌的手机设置wifi的方式可能不一样,这里以华为手机为例,如图8所示,将手机连接至PC的wifi
图8(手机连接电脑的wifi)
勾选“显示高级选项”-> 代理 选择“手动” ->输入服务器主机名和服务器端口 ->IP选择“DHCP”->连接,即完成手机端设置代理操作,如图9所示
注:服务器主机名:Fiddler所在电脑IP(即开启wifi后,在fiddler或cmd中看到的无线网卡IP地址)
服务器端口: Fiddler使用的端口(即Options-> Connections中设置的端口号)
图9(手机设置代理)
6、手机下载安装Fiddler证书
连接上wifi后,手机打开浏览器输入代理IP+端口号(即是本机无线网卡IP,也是手机连接wifi时所设置的服务器主机名,这里的ip+端口号为192.168.191.1:8888),进入fiddler echo service页面,下载Fiddler的证书,如图10所示,点击FiddlerRoot certificate
图10(下载fiddler证书)
下载完成后,进行安装证书,如图11所示
图11(安装证书)
【注意】:如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(如上面的步骤3所示):No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?
四、运行手机应用
设置完上面6个步骤后,即表明已设置完毕,此时用手机访问应用,就可以看到fiddler抓取到的数据包了,如图12、13所示
图12(这是运行百度网盘与喜马拉雅FM应用时所抓取的数据包)
图13(这是运行微信应用中的游戏时所抓取的数据包)
以上就是fiddler捕获android数据包时所要做的操作
抓包工具 - Fiddler(如何捕获Android数据包)的更多相关文章
-
Wireshark数据抓包教程之认识捕获分析数据包
Wireshark数据抓包教程之认识捕获分析数据包 认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了.Wiresh ...
-
Fiddler抓包工具(捕获Android数据包)
一:获取Android的数据包必须要在同一个网络中 移动设备访问网络原理 先看看移动设备是怎么去访问网络,如图所示,可以看到,移动端的数据包是从wifi出去的. 可以看得出,移动端的数据包,都是要走w ...
-
图解Fiddler如何抓取Android数据包
介绍Fiddler抓取Android数据包希望对大家的工作和学习有所帮助! 电脑开启wifi热点 首先在电脑上下载一个wifi软件,我这里用的是猎豹wifi,电脑开启wifi热点后,如下图所示: 设 ...
-
抓包工具Fiddler的使用
Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...
-
和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler
HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ...
-
【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS
在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...
-
抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程
转自:http://www.51testing.com/html/80/n-3726980.html 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程 发表于:2018-6-06 11: ...
-
抓包工具 - Fiddler - (一)
<转载于 miantest> Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888 ...
-
网络抓包工具 Fiddler
网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简单介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查全部你的电脑和互联网之间的 ...
随机推荐
-
CAD二次开发---导入外部文件中的块并输出预览图形(五)
思路: 1)首先要定义一个数据库对象来表示包含块的文件,改数据库对象会被加载到内存中,但不会被显示在CAD窗口中. 2)调用Database类的ReadDwgFile函数将外部文件DWG文件读入到新创 ...
-
SP2013 SP1(kb28805502)补丁安装测试初体验
安装完SP1(kb28805502)第一印象是整体页面加载浏览速度非常快了,在笔记本建立的虚拟机能达到肉眼感觉不到卡顿真的是非常快了. 1.新添加了页面个性化设置功能菜单 3.默认访问网站的页面显示, ...
-
黑客界大拿tombkeeper文章:怎么学好技术成为技术大拿(题目我自拟的)
这两天论坛上又有人开始抱怨世风日下,大家都现实了,都不开放了,不交流了.对这种“月经贴”,我基本上已经习惯了,不过因为吃了粉皮炖鸡,心情比较好,于是就说了两句. 三四年前,当时我对人性的看法还不像现在 ...
-
网络流(最大流)CodeForces 512C:Fox And Dinner
Fox Ciel is participating in a party in Prime Kingdom. There are n foxes there (include Fox Ciel). T ...
-
idea 中设置成公司规范的代码格式
优雅的编码格式是一个程序员的必备素质. 最近切换到了 idea,想对自己的代码进行格式化的时候希望能自动排版成公司规定的格式,可以做以下设置: 打开 idea 的 preference: 左侧找到 c ...
-
Mysql 学习之EXPLAIN作用
一.MYSQL的索引 索引(Index):帮助Mysql高效获取数据的一种数据结构.用于提高查找效率,可以比作字典.可以简单理解为排好序的快速查找的数据结构.索引的作用:便于查询和排序(所以添加索引会 ...
-
【BZOJ4030】[HEOI2015]小L的白日梦
[BZOJ4030][HEOI2015]小L的白日梦 题面 BZOJ 洛谷 题解 要求的是最小的不开心连续段的期望. 然后发现自己就不会做了. 然后就可以来抄题解啦. 首先来猜性质: 第一个,一定是按 ...
- tp 缓存,前台提速
-
POJ 3069 Saruman&;#39;s Army
Saruman's Army Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6688 Accepted: 3424 De ...
-
vue跳转页面传值怎么传?
这是路由跳转: this.$router.push( { name: 'holderResult', params: { meetingId:self.$route.params.meetingId} ...