栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

app抓包 https jmeter

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

app抓包 https jmeter

问题背景描述:这两天学习jmeter ,今天采用抓包工具将抓取一个端口,web端显示的协议为https 于是我在 jmeter 中将协议设置为 https,jmeter运行时报错javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

问题:为什么会报错?

解释:

1 错误出现频率较高地方:通常出现在尝试用 SSLSocket 去连接一个http端口或者用普通socket 去链接一个https 服务端的端口。

2 初步判断原因:用 Socket 去请求一个 https协议的服务导致这种报错 , 因为服务端提供的不是采用 http 协议服务的端口。

3 深层原因是:

3.1 https 与 http 协议有非常大的差别

https协议有一个安全层使得通信双方的发送的数据都是经过加密的,保证了网络通信中数据的安全性。 但是要实现通信数据加密,就要求通信双方有一个共同的加解密密钥(通常是基于对称加密算法)

3.2 https中ssl层实现原理

与 http 不同 https 协议架构中有 ssl层, ssl安全层通过非对称的 RSA 加解密原理实现密钥交换, 构建安全信息传输通道。关于 非对称的 RSA 加解密原理,其实理解起来也非常简单,就是服务器 a 和客户端 b 还有可信任的第三方 c,a 首先生成一双 RSA公私钥对,c 用自己的 私钥 把这个DES密钥 连同 RSA公钥 一起签发给 客户端证书 , a 将 c自身的证书(包含c私钥对应的公钥),客户端证书 和 RSA私钥 一起发给 b,b 先用 c 自身的证书 做验证保证数据由 a 发出。然后 b 用这个 RSA公钥 对一个对称的 DES密钥 加密,然后可以公开发出去,他不用担心这个密钥会被截取,因为只有 a 才有对应的 RSA私钥,只有a才能解密出来这个DES密钥。这样就完成了对称密钥的交换。

3.3 解释题目中出现报错的问题原理

一般的http协议没有安全层,也不用对通信双方的信息都进行加密,就没有对协议设计对称加密算法,也就没有接受https协议请求的程序,所以,向一个使用 http 协议的 web 服务器发送 https 请求,自然会报错。

4 报错解决方案: 将https安全协议换成,http协议。

运行成功

5 关联学习资源:sslsocket原理和实现,偏实用方向的sslsocket编程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号