使用SSLContext指定IP地址+ SNI

时间:2019-02-12 21:50:54

标签: python-3.x ssl

如何使用Python的SSLContext指定要连接到 的服务器的IP地址?

我可以轻松地单独指定SNI,但无法确定如何将请求指向特定的IP地址

例如,这将导致在“客户端问候”中发送“ mywebsite”

 hostname = "mywebsite"
 context.wrap_socket(sock, server_hostname=hostname)

您如何控制所连接的IP?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的sock变量是如何创建的?

它是一个套接字,因此是在调用wrap_socket之前指定目标IP和端口的地方。

赞:

sock = socket.create_connection((HOST, PORT))

在TLS级别上,它“太迟了”:TLS握手在建立TCP / IP连接之后发生,因此在发送SNI扩展时,您已经连接到特定的IP地址(和端口)。