Как открыть google.com с помощью curl с заголовком хоста (сертификат не соответствует) [закрыто]

Поскольку Google использует HTTPS / SSL, я не могу получить к нему доступ, используя IP-адрес Google.com и передав заголовок Host. Я не понимаю, почему это не работает.

Вот что я пробовал до сих пор.

  1. Я получил IP-адрес Google.com
tracert google.com
Tracing route to google.com [216.58.207.238]
  1. Затем я попытался подключиться, используя IP-адрес с заголовком Host
$ curl -H "Host: google.com" https://216.58.207.238

Получил ошибку:

curl: (51) SSL: имя субъекта сертификата '* .google .com 'не соответствует имени целевого хоста' 216.58.207.238 '

  1. Затем я попробовал это
$ curl https://216.58.207.238 --resolve "google.com:443:216.58.207.238" -H "Host: google.com"

Но я получил то же сообщение об ошибке. Так действительно ли вообще невозможно открыть google.com с помощью IP-адреса?

0
задан 21 November 2019 в 11:08
1 ответ

Определенные поля в представленном сертификате должны соответствовать имени или адресу, с которым Вы соединяетесь, иначе сертификат будет объявлен "фальшивкой", и клиент должен отбросить соединение. Именно это делает Ваше завихрение.

, Если Вы соединяетесь доменным именем, то имя должно соответствовать "cname" полю в сертификате или быть перечислено в подполях "subjectAltName" DNS сертификата сервера.

, Если Вы соединяетесь путем определения необработанного IP-адреса, тот IP-адрес должен быть перечислен в подполях "subjectAltName" IP сертификата.

, Поскольку можно легко проверить, Google не указывал IP-адресов в поле SAN их сертификата, таким образом, да, они не ожидают, что кто-либо соединится с ними использующий прямой IP-адрес. Они только ожидают, что Вы будете использовать имена хостов.

можно отключить сертификат, регистрируясь в завихрении при помощи --insecure, но Вы знаете, это представит бесполезный HTTPS.

См. также связанный вопрос на безопасность и RFC5280

1
ответ дан 4 December 2019 в 15:34

Теги

Похожие вопросы