Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Можно-ли вместо доменного имени писать ip? И как?

#url #ip #домен #internet


Можно-ли, например вместо google.com или других имен писать 1.808.5789.908...(ip
ненастоящий) и др. ?

Если да, то как узнать ip адрес сайта ?

Если нет, то почему ?
    


Ответы

Ответ 1



Можно. Но не всегда. Отправляя http запрос на http://ip-address/uri на сервер приходит запрос с заголовком Host: ip-address. Если при этом http-сервер настроен на выдачу хоста «по умолчанию», вы получите данные с этого ресурса. Не стоит забывать, однако, что на одном сервере может обслуживаться множество виртуальных хостов. Все они слушают один интерфейс. К какому именно вы попадёте, сервер определяет по домену из заголовка Host. А как мне собственно узнать ip?(например, Гугла) Для этого существуют специальные протоколы DNS. И утилиты, работающие с этими протоколами(nslookup, drill и т.п.). Большие сайты, привязывают к домену сразу несколько IP адресов и резольвят их по технологии round-robin(с каждым запросом первым в списке будет другой IP). Некоторые также раздают разные пулы IP, в зависимости от местонахождения клиента. $ drill google.com ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 4719 ;; flags: qr rd ra ; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; google.com. IN A ;; ANSWER SECTION: google.com. 1 IN A 74.125.131.113 google.com. 1 IN A 74.125.131.102 google.com. 1 IN A 74.125.131.139 google.com. 1 IN A 74.125.131.100 google.com. 1 IN A 74.125.131.138 google.com. 1 IN A 74.125.131.101 ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 64 msec ;; SERVER: 8.8.4.4 ;; WHEN: Thu Jun 27 21:55:43 2019 ;; MSG SIZE rcvd: 124 1.808.5789.908 IP четвёртой версии - это 4 байта информации. Для удобства восприятия, распространён формат, в котором эти 4 байта представлены по отдельности с разделителем-точкой. Из-за этого, числа в составе IPv4 адреса никогда не бывают больше 255. Также, это не единственный способ представить IP адрес. Например, можно поразрядно сложить эти байты и пользоваться одним большим числом, например, для IP 74.125.131.102: >>> (((((74 << 8) + 125) << 8) + 131) << 8) + 102 1249739622 абсолютно валидной будет ссылка http://1249739622/

Ответ 2



Да, по идее можно: http://64.233.161.94 (ip настоящий - у меня сейчас в него ресолвится гугл). Но есть несколько нюансов, почему подобное может не рботать: сайт может сам проверять host и не реагировать на ip-адрес вместо имени на одном ip может существовать несколько сайтов, выбор между которыми происходит на основе host'а. В таком случае сервер либо выдаст ошибку, либо покажет страницу хостинга-владельца. при использовании защищённых протоколов (https) сертификат выдан на доменное имя, а не на ip-адрес, а значит браузер признает сертификат невалидным. Тут можно рассказать кучу всего про dns, но я обычно просто делаю в консоли ping: C:\>ping google.ru Pinging google.ru [64.233.161.94] with 32 bytes of data: Reply from 64.233.161.94: bytes=32 time=37ms TTL=48 Reply from 64.233.161.94: bytes=32 time=44ms TTL=48 Reply from 64.233.161.94: bytes=32 time=37ms TTL=48 Reply from 64.233.161.94: bytes=32 time=37ms TTL=48 Ping statistics for 64.233.161.94: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 37ms, Maximum = 44ms, Average = 38ms

Комментариев нет:

Отправить комментарий