美文网首页
SNI协议分析

SNI协议分析

作者: creepycool | 来源:发表于2017-09-15 16:07 被阅读0次

介绍

什么是SNI协议?

服务器名称指示(英语:Server Name Indication,简称SNI)是一个扩展的TLS计算机联网协议,在该协议下,在握手过程开始时通过客户端告诉它正在连接的服务器的主机名称。这允许服务器在相同的IP地址和TCP端口号上呈现多个证书,并且因此允许在相同的IP地址上提供多个安全HTTPS网站(或其他任何基于TLS的服务),而不需要所有这些站点使用相同的证书。

为什么需要使用SNI协议?

基于名称的虚拟主机允许多个DNS主机名由同一IP地址上的单个服务器(通常为Web服务器)托管。为了实现这一点,服务器使用客户端提供的主机名作为协议的一部分(对于HTTP,名称显示在主机头中)。但是,当使用HTTPS时,TLS握手发生在服务器看到任何HTTP头之前。因此,服务器不可能使用HTTP主机头中的信息来决定呈现哪个证书,并且因此只有由同一证书覆盖的名称才能由同一IP地址提供。

所以,需要由SNI协议在握手时提供主机名的信息。

了解SNI协议可以用来做什么?

如果我们要对流量进行识别,做流量检测等,HTTPS流量是加密的,很难检测其内部的具体内容。SNI协议给出了一个切入点,在HTTPS协议建立加密连接的开始阶段检测出访问的域名信息。

抓包分析

抓取访问HTTPS的数据包,之后,通过使用显示过滤器语句ssl.handshake来过滤出想要的报文。分析报文发现server_name的扩展字段只存在于Client Hello这个过程中。

SNI1

接下来,进一步过滤,使用显示过滤器语句ssl.handshake.extensions_server_name,提取出包含SNI协议的Client Hello报文。

SNI2

下面这个箭头所指表示了SNI协议的格式,

Type(2B) | Length(2B) | Server Name list length(2B) | Server Nma Type(1B) | Server Name length(2B) | Server name

  • Type:扩展类型-server_name,2字节,0x0000
  • Length:长度,指接下来携带的信息的长度(即Server Name Indication extension部分的长度),2字节
  • Server Name list length:指后面所携带的数据的长度
  • Server Nma Type:一个字节,0x00代表host_name。
  • Server Name length:长度,这里指Server Name的长度
  • Server name:请求的域名的名称,即HTTPS要访问的域名
SNI4
参考资料:

SNI: 实现多域名虚拟主机的SSL/TLS认证:https://shansing.com/read/355/

RFC6066:https://tools.ietf.org/html/rfc6066#page-5

相关文章

  • SNI协议分析

    介绍 什么是SNI协议? 服务器名称指示(英语:Server Name Indication,简称SNI)是一个扩...

  • 印尼钢筋

    印尼国标(SNI)印尼钢筋的国标为SNI07-2052-2002 Baja Tulang Beton。钢筋尺寸和强...

  • 协议分析学习

    Ⅰ.协议分析用途 协议分析(Protocol Analysis),也称作网络分析(Network Analysis...

  • iOS中SNI 实现

    1.SNI的概念与原理 SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证...

  • Python 高级 9 HTTP协议

    浏览器访问服务器的过程、HTTP协议、开发者工具、HTTP请求报文协议分析、HTTP响应报文协议分析、长连接和短连...

  • MS SQL的内部运作

    主要模块作用 SNI (Server Network Interface): 主要负责SQL Server与网络传...

  • 信息安全

    信息安全 反编译 协议分析

  • http协议那些事

    1.输入网址后发生了什么2.http协议详解3.https协议分析4.http2协议分析5.了解http36.后台...

  • 自定义协议方法

    发送消息实现聊天功能的通讯字节流协议 接受数据、分析协议

  • wireshark学习笔记(三)——ARP协议分析

    ARP协议 什么是ARP协议 协议分析篇第一个要研究的就是ARP协议。ARP(Address Resolution...

网友评论

      本文标题:SNI协议分析

      本文链接:https://www.haomeiwen.com/subject/uczssxtx.html