手机APP如何抓包[通俗易懂]

手机APP如何抓包[通俗易懂]使用场景程序及其使用第一步:Fiddler抓取手机App的HTTP协议请求数据首先保证手机和Fiddler主机为同一网络Fiddler开启远程设备连接(确认Fiddler代理主机IP和端口号)手机端设置网络代理为Fiddler主机(设为Fiddler代理主机IP地址和端口号)验证:访问传智官网(http://www.itcast.cn)第一步:Fiddler抓取手机App的…

大家好,又见面了,我是你们的朋友全栈君。

程序及其使用

先去官网下载安装Fiddler
点击Fiddler前往官网
在这里插入图片描述
输入原因、邮件、城市即可下载。
在这里插入图片描述
1为工具栏;2为数据报文展示面板;3为命令行;4为功能页签
当然如果觉得英文看起来累的可以导入中文补丁,下载链接如下
链接:https://pan.baidu.com/s/10-YBzdH3QdLtVHWxV73_9A
提取码:yyh6
在这里插入图片描述
在这里插入图片描述
补丁拷贝过去后,重新打开Fiddler即可,结果如下
在这里插入图片描述
一切准备就绪后,开始进行手机连接

第一步:Fiddler抓取手机App的HTTP协议请求数据

  1. 让手机和Fiddler主机为同一网络
    手机连接的无线和电脑连接的无线或者有线是来自同一宽带

  2. 电脑上的一系列配置:Fiddler开启远程设备连接+证书导出+代理配置
    第一步:点击工具->选项(Tools->Options)
    在这里插入图片描述
    点击HTTPS,勾选Ignore server certificate errors(unsafe)后,右上角Actions变成可点击的状态,点击下拉栏的Export Root Certificate to Desktop,导出证书到桌面
    在这里插入图片描述
    导出的证书导入到之后需要调试的浏览器中,例如Chrome
    在这里插入图片描述
    打开工具->WinINET选项(即Internet属性)——>连接——>局域网设置——>代理服务器勾选
    在这里插入图片描述
    在这里插入图片描述

  3. 手机上的一系列配置

以华为Mate30为例,WIFI网络对应的无线连接名称长按–>修改网络–>高级选项–>代理手动–填写代理IP地址和端口–保存
代理服务器主机名为电脑的IPV4地址,端口号为Fiddler配置的代理端口号(默认8888);
IPV4地址可以通过cmd输入ipconfig命令查到
在这里插入图片描述
配置完成后,打开浏览器,输入刚才设置的IP:端口号,例:192.168.0.104:8888。点击所框文字下载证书并打开,手机将自动弹出证书安装器,自定义证书名称,选择WLAN,点击确定即可
在这里插入图片描述
这一步的时候我的手机显示WIFI网络不可用,解决问题如下:
然后,打开电脑的防火墙和网络保护
在这里插入图片描述
确认fiddler被允许
在这里插入图片描述
高级设置进行新建规则
在这里插入图片描述
选择端口,下一步,选择TCP并在特定本地端口输入Fiddler设置的代理端口号,之后一直下一步直到结束

4.验证
在这里插入图片描述
先清空所有数据报文(会话),手机输入www.baidu.com,并搜索拿破仑矮脚猫
在这里插入图片描述
在这里插入图片描述
温馨提醒:调试完记得把手机WIF的代理配置关掉,不然打开APP和网站会各种数据加载失败。
至于不可用问题的话,我在知乎看到一段
引用链接如下:https://www.zhihu.com/question/374955282/answer/1057618948

“部分app不能用”
fiddler是使用代理原理进行抓包的,所以要抓包那应用里的连接就必须使用代理,我们通常在手机wifi里设置好系统代理,然后APP检测到系统代理更新后,自己也会同步更新使用系统代理发送http请求。不过现在有很多APP的应用框架自己的网络库不再默认使用系统代理,所以这些APP使用之前的改系统代理的方式fiddler是没有办法获取请求的

金融类关键请求抓包导致请求失败”
这与fiddler解析https的原理有关,如果不解析TLS就不会有问题了因为fiddler解析TLS是使用“中间人攻击”的手段,本质上是一种攻击行为,因为我们会在手机或电脑上信任fiddler根证书,所以这种攻击通常都非常有效也会被视为合法的。当然因为这个技术是攻击行为,部分高敏感服务会通过一些手段让自己的服务链路只验证通过自己的证书 (fiddler要解析TLS会替换证书)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139106.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mybatis和hibernate的以及jpa区别_hibernate sql

    mybatis和hibernate的以及jpa区别_hibernate sql1、概述hibernate和mybatis是当前流行的ORM框架。hibernate对数据库结构提供了较为完整的封装。mybatis主要着力点在于java对象与SQL之间的映射关系。2、Hibernate理解Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将java对象与数据库表建立映射关系,是一个全自动的orm框架。Hibernate可以自动生成SQ

  • UART和USART总结

    UART和USART总结UART和USART总结

  • python 语言变量命名规则的是_Python中变量命名规则有哪些[通俗易懂]

    python 语言变量命名规则的是_Python中变量命名规则有哪些[通俗易懂]Python中变量命名规则有哪些发布时间:2020-09-2413:05:21来源:亿速云阅读:72今天就跟大家聊聊有关Python中变量命名规则有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python变量命名规则1.要具有描述性2.变量名只能是:数字,字母组成,不可以是空格或特殊字符,如:(#?。,¥$*~!&)等3…

  • 小弟博客_博客来网址

    小弟博客_博客来网址原来位于Google上的博客在国内基本不能访问了,现在找了个新家,准备发布一些我这些年来编写的东西,主要集中在算法研究和程序设计上,语言主要是.NET(C#)和Delphi,当然,其它软件开发、算法相关的许多东西也会陆续加入,例如:JavaScript、XML、Web技术等等,另外也会有极少量的与IT行业不相关的东西。旧的不去,新的不来,旧博客关了也好,新博客总算是中文的…

  • Java static关键字详解

    Java static关键字详解static关键字在类中,用static声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。这里要强调一下:static修饰的成员变量和方法,从属于类普通变量和方法从属于对象静态方法不能调用非静态成员,编译会报错static关键字的用途一句话描述就是:方便在没有创建对象的情况下进行调用(方法/变量)。显然,被sta…

  • 循环移动数组元素

    循环移动数组元素//循环移动数组元素//一种大部分数据只移动一次的算法//方法://  将数据循环移动,可以直接计算出每个数据的最终位置,直接移动即可//分析://  这种算法基本可看做每个数据只需要移动一次//  但是每个数据移动的位置需要计算,算法

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号