IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 网络攻防——Fiddler工具的使用 -> 正文阅读

[开发测试]网络攻防——Fiddler工具的使用

1.引言

????虽然之前写了退出一切关于编程的学习(其实我还想学react,typescript,将javascript作为自己核心的编程语言的,其实我还想了解以下java的,软工很多课程都跟Java有关,而且面向对象编程还有很多未曾了解的涉及模式,这些对于书写高质量代码有一定的帮助,其实我还想…),专心学考研课程,打打基础。但是还是忍不住,于是又根据学校安排的课程看了看相关的课程,在学习软件测试的时候了解到了一个非常牛逼的工具——Fiddler

2.什么是Fiddler?

????这是一个本应该用在软件测试里面做接口测试用的。很多时候我们理解的软件测试就是点点点,最后总结无bug。其实这是不对的,这里简单说一下软件测试,软件测试其实贯穿于整个软件开发,包括通常理解的代码测试,开发规范的匹配,开发与需求文档的匹配等,既要管代码有需要管文档,总之有点像一个监工一样,目的是保证软件开发的质量,防止因为后期修改导致软件成本的飙升。我国国内最开始主要是将重点放在上面,开发:测试相对较低,而外国由于发展比较早,因此对于质量的要求高一些,开发:测试往往在1:3左右,这里没有妄自菲薄的意思,国外的发展也是这么过来的,目前国内的测试岗位在招聘中占比也是比较多的,和最火的Java岗位差不多。
????言归正传,Fiddler能够像Burp Suite进行抓包,在功能上各自有各自的偏重,我这里首先学的是Fiddler,Burp Suite还没有学,也不好在这里比较两者。Fiddler中能够提供代理,可用于开放连接到远程,对app对于抓包,这也就是这篇文章将要介绍的重点。因为目前的web查看接口主要是通过Network调试查看的,但是仔细你会发现,很多接口更像是打包后发送给前端的js或者html文件,再或者是callback(有点jsonp跨域的意思),基本上是很难看到接口具体是什么,除了像哔哩哔哩这样的故意放出来的网站。总结其原因:由框架直接渲染页面和服务端渲染的前端思维(SSR,有兴趣可以看看其他相关文档)。因此我们白嫖怪将目光投向了更为广阔的app。

3.Fiddler的基本使用

????先初步展示一下效果:
在这里插入图片描述
????下载位置:Fiddler官网,下载完成之后,需要在目录出找到运行程序,建一个快捷方式:
在这里插入图片描述
(1)基本预览,打开软件之后简单了解一下基本使用方式(无法汉化,就用英文吧):
在这里插入图片描述
上面圈住的地方就是这个软件比较大的特色了,虽然UI不算美观,但是可用行比较好。
(2)代理设置,正常情况下,数据是不会通过这个工具的,上面的各种请求其实就是代理实现的,代理的作用应该主攻网安的比我更加清晰吧,就是说张三和小红之间通信的那只信鸽。但是正常情况下一般人不会走这个代理的,所以这里涉及到一个网安的专有名词——社会工程学,指的就是通过这种手段让别人打开一些不会使用的东西,比如:张三给李四修电脑,修完之后,张三把李四的电脑代理设置张三的网络开放的代理,这样李四上网浏览的任何内容都能被张三看到了,包括提交的用户名和密码,实际是很难做到的,除非你直接通过某些手段以控制了一个人的电脑。代理的开启很简单,Fiddler有这个功能可以帮我们实现,甚至不需要自己去手动设置代理(勾选一个选项就能完成):
在这里插入图片描述
说明:这里的8888端口其实就是代理使用的端口,如果被8888端口被占用可以手动修改成其他未被占用端口。
(3)配置https抓包,默认情况下Fiddler只能够抓取http协议的数据包,https抓取需要利用Fiddler自带的证书生成工具创建证书并信任该证书,操作也不难就是可能会遇到过期失效问题:
在这里插入图片描述
在这里插入图片描述
接下来需要让浏览器信任生成的证书,在设置里面搜索SSL(因为https=http+ssl(或其他安全证书)):
在这里插入图片描述
在这里插入图片描述
接下来,再找一个网页刷一下就会产生https了,到这里基本配置就完成了,得会用一个快捷键Ctrl+X,一键清空抓获的数据包。
(4)证书过期处理,其实这个应该还算做(3)的,但是这个实在是太重要的,很可能会影响软件的使用体验。这里我总结为证书过期,每次重启电脑会发现抓取的数据包全是http,没有一个https,这个显然不太可能的。需要手动删除所有信任的证书,然后重新操作一下步骤(3),可能麻烦了点,但是相比于刺激的抓包,真的不算什么。手动删除证书的步骤:打开cmd,输入certmgr.msc,打开证书管理区:
在这里插入图片描述
删除完成之后,重复步骤(3)就能重新抓取https了。

4.基于手机模拟器的APP抓包

????接下来是更有意思的app抓包了,下载夜神模拟器,其实无论是哪款模拟器都行,主要是使用里面的模拟器下载app用于抓包。
在这里插入图片描述

我这里装了几个软件,下载apk手机软件的话,推荐位置:豌豆荚,这里给出一个大佬测试可用的软件百度网盘链接,当然你也可以自己在手机浏览器中搜索微漫画(微博出的一个漫画app),然后利用QQ发送给电脑,然后拖入虚拟机安装:

链接:https://pan.baidu.com/s/1OxAxtPgmxn5_Ogs4EqOcYg 
提取码:1224

这里再说一下为什么是它,哈哈哈哈,因为主流软件现在都有反爬机制了,向腾讯出的漫画台甚至连个接口都看不到,字节的抖音视频是分包发过来的,并且播放使用特殊的播放机制,小红书的url明显可以看到类似md5的编码挂载url上面。微漫画可能在各种竞争中被淘汰了,所以甚至在豌豆荚上面都找不到了。也正是这些原因导致抓微漫画的包还是行得通的。
????好了,理论可行,直接实测。首先还是需要像电脑一样配置好证书并信任,因为app的的请求地址大概率是https的,可能你后期使用会遇到这个问题:
在这里插入图片描述

原因很简单,证书过期了,因为打开的时候不能抓https,所以就换了证书,导致之前使用的证书无效。解决方法也很简单:
(1)切换到Fiddler,开启Filddler的远程代理:
在这里插入图片描述

(2)切换到手机模拟器,打开设置->wifi;
(3)长按当前使用的wifi,会显示修改网络功能:
在这里插入图片描述
(4)点击修改网络,让手机也是用Fiddler提供的代理:
在这里插入图片描述
(5)安装并信任证书,
在这里插入图片描述
在这里插入图片描述
如果你觉得这个方法麻烦了点,还有一个方法安装证书:设置->允许手机安装软件->浏览器中输入:http://168.192.0.109:8888/,点击: FiddlerRoot certificate下载证书,然后会弹出安装证书界面。
(6)打开微漫画软件,抓包:
在这里插入图片描述
????到这一步对于抓包就算是结束了。接着说说兼容性问题,对于chrome浏览器来说,可以不用手动导入证书,对于fireFox则必须导入,对于iphone手机,需要关闭手机的防火墙。另外,重复说明一个问题,部分app或者操作系统自带反抓包功能,如出现抓包失败情况属于正常现象。比如手机模拟器中打开百度会一直提示证书无效。在切换证书时如果需要用到浏览器,遇到证书无效弹框可以直接多次点击继续指导没有提示或者用电脑下载证书复制到模拟器中,可以通过模拟器存储文件的位置也可以通过模拟器的UI界面导入。

5.接口捕获

????如果对于一个测试人员,那么他可能停步于此,但是对于开发者或者网安人员来说,这才是游戏的开始(至少对于开发人员是这样的)。现成的漫画接口,等下:
在这里插入图片描述
咱就学习一下,就学习哈,没有其他想法,哈哈哈哈,绷不住了。
????上面某工具的使用教程如下:
注意:这个教程说掉了一步,需要把软件后缀改成rar压缩文件格式,然后解压,这样再来看这个教程就很清晰了,然后dex2jar-2.0里面的classes.indexclasses-dex2jar.jar其实是别人使用的遗留文件,直接使用前可以直接删除或者使用中覆盖就行。

https://www.cnblogs.com/pythoncd/p/10367144.html

在这里插入图片描述
也就是定位到了接口对应的源码了,有Java语言基础的,Android代码还是能够看一下的,下面的的操作可能就需要涉及python、node.js语言来完成了,有点不敢往下写了,狗头保命。
在这里插入图片描述

6.引言

????以上内容仅供学习使用,切不可用与非法用途,否则自行承担相关法律责任。

7.鸣谢

????感谢广大博主的文档和来自B站大神的教程:app逆向数据抓取

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:20:21  更:2022-04-06 16:20:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 1:29:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码