Указание IP-адреса + SNI с помощью SSLContext - PullRequest
0 голосов
/ 13 февраля 2019

Как можно указать IP-адрес сервера, к которому вы хотите подключиться вместе с SNI, используя SSLContext Python?

Я могу легко указать только SNI, но небыл в состоянии определить, как направить запрос на конкретный IP-адрес

Например, это приведет к тому, что «мой веб-сайт» будет отправлен в «Client Hello»

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

Как вы контролируете IPВы подключаетесь к?

Спасибо!

1 Ответ

0 голосов
/ 13 февраля 2019

Как была создана ваша sock переменная?

Это сокет, следовательно, именно там указываются IP-адрес и порты назначения перед вызовом wrap_socket.

Как:

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

На уровне TLS «слишком поздно»: рукопожатие TLS происходит после установления соединения TCP / IP, поэтому во время отправки расширения SNI вы уже подключены к определенному IP-адресу(и порт).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...