【发布时间】:2021-08-21 14:15:33
【问题描述】:
我的计算机和外部服务之间有 SSl 套接字连接。我通过仅指定一个 IP 地址进行连接,因此根据我的理解,证书上的名称将与连接时指定的 url 进行比较,因此主机名验证应该失败。如何通过数据包捕获或其他方式确认这一点?谢谢
【问题讨论】:
我的计算机和外部服务之间有 SSl 套接字连接。我通过仅指定一个 IP 地址进行连接,因此根据我的理解,证书上的名称将与连接时指定的 url 进行比较,因此主机名验证应该失败。如何通过数据包捕获或其他方式确认这一点?谢谢
【问题讨论】:
如何通过抓包确认...
包括主机名验证在内的证书验证在客户端内部完成。因此在网络上无法观察到。
至少在 TLS 1.2 之前可以在网络上观察到的是服务器发送的证书。因此,您可以进行数据包捕获,将其加载到 Wireshark 并检查那里的叶证书是否匹配正确的主机名验证。如果没有,那么您就知道客户端没有正确检查主机名。如果匹配,您仍然无法确定它是否被客户端检查。
... 否则
通过与客户端不同的主机名访问服务器,例如通过编辑主机文件并将一些任意名称映射到 IP 地址,然后使用此主机名而不是 IP 地址访问服务器。如果成功,客户端不会检查主机名。如果失败,可能是由于主机名检查。
【讨论】: