| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 网络数据抓包 整理总结 -> 正文阅读 |
|
[网络协议]网络数据抓包 整理总结 |
?在开发过程中,我们经常会碰到需要抓取网络接口请求数据来进行调试或者接口对接的情况,有时候某些金融行业的前端或者APP过检也会对APP进行抓包分析,所以在这里简单做一下整理,方便日后复习。 一、常用的抓包工具抓包工具有很多,小到最常用的web调试工具Firebug,达到通用的强大的抓包工具Wireshark。为什么使用 Fiddler?原因如下: (1) Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且 Firebug 常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。 (2) Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。 (3) Httpwatch 也是比较常用的http抓包工具,但是只支持IE和 firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力。 (4) Fiddler 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler,Fiddler 可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。 二、Fiddler抓包工具的使用(1)原理Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。 既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,web客户端和服务器的请求如下所示:? ?Fiddler 作为系统代理,当启用 Fiddler 时,IE 的PROXY 设定会变成 127.0.0.1:8888,因此如果你的浏览器在开启fiddler之后没有设置相应的代理,则fiddler是无法捕获到HTTP请求的。 下面再看下Fiddler 是怎么抓取移动端设备的数据包的,先来说说移动设备怎么去访问网络,看了下面这张图: ?可以看得出,移动端的数据包,都是要走wifi出去,所以我们可以把自己的电脑开启热点,将手机连上电脑,Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包,然后发给路由器(如图): (2)使用方法先贴下载地址: 不过这个貌似只有30天试用期,需要的可以自己找找破解版,我是用联想电脑管家上面的软件商店直接装的,好像没这个问题。 先看一下 Fiddler 抓取到的数据包: ?解释一下这些圈红的地方什么意思:
再看一下右侧工具栏我们常用的几个地方: ?这里面,我使用最多的就是?Inspectors 和?Fiters 了,关于 Fiters 啰嗦两句: 勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host 1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容: 2、Host 指定显示某个域名下的会话: ?如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可 修改完后可以点击右上角的 Actions ,里面有个立即生效 (3)遇到的问题a. Android 高版本手机抓包 报SSLHandshakeException异常问题 使用Fiddler抓HTTP/HTTPS包,Android7.0以后https抓包失败问题 原因:在Android 6.0 (API level 23)及以前,APP默认信任系统自带的CA证书以及用于导入的CA证书,Android 6.0 (API level 23)以后,APP默认只信任系统自带的CA证书,对于用户导入的不予理会。Google也给出了办法,怎么在Android7.0及以后的系统中,让APP信任我们手工导入的CA证书。方案如下: 解决方案: 在编译APK之前,在你的Android项目的res文件夹下创建xml文件 [net_security_config.xml] 内容为:
然后在AndroidManifest.xml中的application标签下添加 android:networkSecurityConfig="@xml/net_security_config.xml" 编译安装,然后该APP就信任用户添加的CA证书,从而Fiddler就可以抓到它的HTTPS包并解密内容。 三、Wireshark抓包工具的使用暂时还没详细学习,后续补充 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 查看所有文章 |
|
开发:
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/26 1:30:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |