我有一个库来处理http客户端和网络服务器之间的连接。
我想截取http连接以查看用户尝试访问的服务器。
在许多情况下,客户端会尝试连接到https服务器/资源,因此我想拦截流并检查内部以提取用户尝试访问的服务器。 tls协议v1.2中有一个扩展,允许这样做。
所以问题是,是否有任何库(包括openssl)允许解析而不使用任何套接字?我想只使用解析器来提取信息,就像wireshark一样。
提前致谢。 马丁
修改 我找到了一个完全符合我想要的代理实现。
答案 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。