Openssl(或其他库) - 请客户端问好

时间:2014-12-18 00:42:35

标签: ssl openssl

我有一个库来处理http客户端和网络服务器之间的连接。

我想截取http连接以查看用户尝试访问的服务器。

在许多情况下,客户端会尝试连接到https服务器/资源,因此我想拦截流并检查内部以提取用户尝试访问的服务器。 tls协议v1.2中有一个扩展,允许这样做。

所以问题是,是否有任何库(包括openssl)允许解析而不使用任何套接字?我想只使用解析器来提取信息,就像wireshark一样。

提前致谢。 马丁

修改 我找到了一个完全符合我想要的代理实现。

https://github.com/dlundquist/sniproxy/tree/master/src

1 个答案:

答案 0 :(得分:0)

  

所以我想截取流......

没有必要拦截流。 ClientHello是纯文本,因此即使是被动攻击者也可以使用。

您可能需要保留离线数据,例如会话恢复0-RTT(但是,会话恢复时使用的令牌或cookie可能无法使用0-RTT)。

  

tls协议v1.2中有一个扩展允许这样做。

是。它的服务器名称指示符(SNI)扩展名。它在TLS 1.0及以上版本中可用。

  

所以问题是,是否有任何库(包括openssl)允许解析而不使用任何套接字?

想到了Wireshark的一个解剖器。但我不确定它们是否可用作库。以下内容可能来自Wireshark网站:How to compile dissector to DLL or shared library?。另请参阅Stack Overflow上的Wireshark tcap dissector inside my program