每个 HTTP/2 连接会发送一条隐藏的秘密信息!
如果你监听过 HTTP/2 连接的建立过程,你也许会注意到在每个连接建立时都会发送一条这样的报文。如下:
即以下文本:
PRI * HTTP2.0
如果将 HTTP2.0 以及换行从其中去掉,那么我们就得到了 PRISM ! 这是什么?是斯诺登所揭露的 NSA 的 棱镜计划 !只要是 HTTP/2.0 连接,都会在一开头就发送这样的报文。
是你的 HTTP/2.0 连接被 NSA 监控了么?不是!这条消息代表了你的服务器真正支持了 HTTP/2.0,它是一个用于识别的魔法字符串。
它在 RFC7540 Section 3.5 中描述如下:
在 HTTP/2 中,每个端点都需要发送一个连接引语作为所用协议的最终确认,并用于建立 HTTP/2 连接的初始设置。客户端和服务器发送不同的连接引语。
客户端的连接引语以24个字节开始,以16进制表示如下:
0x505249202a20485454502f322e300d0a0d0a534d0d0a0d0a
即以下列字符串开始: PRI * HTTP/2.0/r/n/r/nSM/r/n/r/n 。
事实上,这个魔法字符串原本是 FOOBA :在 2013/5/29 发布的 draft-ietf-httpbis-http2-03 中它还是这个样子: FOO * HTTP/2.0/r/n/r/nBA/r/n/r/n 。
而在同年6月份斯诺登事件沸沸扬扬之后,7/8发布的 draft-ietf-httpbis-http2-04 中就变成了 PRI * HTTP/2.0/r/n/r/nSM/r/n/r/n 。
所以,你知道了吧?这个古怪的字符串是互联网工程任务组(IETF)对 NSA 的嘲讽。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/50231.html
相关文章
- Http通过header传递参数_http contenttype
- 快速的安装mysql和远程连接2021.7.23
- 部署Linux服务器,实现高效安全的HTTP通信(http服务器linux)
- 服务 Linux下检测HTTP服务的方法(linux测试http)
- 服务器Linux下简易配置HTTP服务器(linux配置http)
- 极速搭建Linux下HTTP代理服务器(linux搭建http代理)
- Linux搭建HTTP代理实现网络自由访问(linux搭建http代理)
- 使用Shell脚本操作MySQL数据库(shell连接mysql)
- 将你的 Google Drive 连接到 Fedora 工作站
- 故障解决解决Linux中的HTTP连接故障(linuxhttp连接)
- HTTP请求在Linux下的实现(http请求linux)
- Linux拦截HTTP的安全防护(Linux拦截http)
- 如何使用Linux搭建一个安全的HTTP服务器(linux搭建http服务器)
- 数据库JavaScript 的 Oracle 数据库连接技术简介(js如何连接oracle)
- 一步之遥从HTTP访问Oracle数据库(http访问oracle)
- MySQL服务停止无法连接的解决方案(mysql一直停止服务)
- 熟悉Redis,HTTP抓包,防止网络安全漏洞(redis,http抓包)
- Redis与C的连接极速开发与稳定运行(redis 连接c)
- 优化Redis系统调整长短连接的最佳实践(redis设置长短连接)
- 在ASP中连接MySQL数据库,最好的通过ODBC方法
- 基于HTTP长连接的"服务器推"技术的php简易聊天室
- 重新封装zend_soap实现http连接安全认证的php代码