предисловие
Все занимаются развитием, естьGitHub
Аккаунт GitHub обязательно столкнется с такой ситуацией в повседневном использовании.Без изменения какой-либо конфигурации иногда можно нормально зайти на GitHub, а иногда он не отвечает напрямую.Попробуем разобраться,почему.
Процедура Melaleuca для доступа к GitHub
Возьмите мой домашний компьютер в качестве примера, без изменения какой-либо конфигурации или включения каких-либо прокси-инструментов, доступGitHub
Вы получите следующий результат:
😂😂😂
Хотя это очень остро, по крайней мере, это может показать часть этого.
Я перерыл кучу запутанных стратегий в Интернете, и я знаю, что вы можете модифицировать компьютерHosts
К файлу можно получить доступ нормально, поэтому я его искал.
шаг:Байду опыт
Эффект следующий:
Эффект доступа до сих пор очень трогательный.Данные о последних действиях не отображаются,и весь интерфейс загружается уже почти 2 минуты.Есть ли способ?
Инструменты для веб-мастеров PING PING PING
Все они занимаются разработкой, и они будут использовать F12, чтобы увидеть, что такое адрес сети или запрос ресурса.В качестве примера возьмем самый медленный адрес выше, доменное имя:github.githubassets.com
Откройте функцию PING инструмента для веб-мастеров, адрес: http://ping.chinaz.com/github.githubassets.com
Результат выглядит следующим образом:
я нашел185.199.108.154
Этот IP-адрес является быстрой партией, поэтому я немедленно заменил его.Hosts
IP-адрес, соответствующий доменному имени в
Посетите еще раз, эффект следующий:
Что было сказано в этой фразе? Шелковистая, как что, я чувствую, что это очень шелковисто~ 🤪
Проект GitHub регулярно выпускает последние версии Hosts.
Конечно, если вам приходится бросать каждый раз, когда вы посещаете, это не будет слишком неудобно, поэтому некоторые люди имеют проекты с открытым исходным кодом в Интернете и регулярно выпускают последние обновления.GitHub
IP-адрес, ссылка: https://github.com/521xueweihan/GitHub520
Хозяева на момент написания
# github
185.199.108.154 github.githubassets.com
199.232.68.133 camo.githubusercontent.com
52.168.24.190 github.map.fastly.net
199.232.69.194 github.global.ssl.fastly.net
140.82.112.4 github.com
140.82.112.5 api.github.com
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 favicons.githubusercontent.com
199.232.68.133 avatars5.githubusercontent.com
199.232.68.133 avatars4.githubusercontent.com
199.232.68.133 avatars3.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com
Проект будет автоматически опубликован по указанному адресу, в сочетании с программным обеспечением его можно полностью автоматизировать без необходимости постоянных обновлений.
Конечно, вы также можете вручную изменить
Почему я могу получить доступ к GitHub после смены хостов?
Обычно это Baidu + Google, сегодня я должен изучить принцип! Давайте пошагово Прежде всего, всем нужно дать понять, что в онлайн-мире域名
Просто уникальный адрес, который существует для легкого запоминания и идентификации, то, что действительно работает, все ещеIP
Для чего нужен файл hosts?
Проще говоря, файл Hosts — это файл, в котором хранится локальное доменное имя URL и соответствующий ему IP-адрес, и он играет роль на этапе сетевого запроса.
Почему смена хостов вступает в силу?
Это включает в себя разрешение доменного имени, поскольку файл Hosts хранит域名
иIP
, так что это может сыграть роль на этапе разрешения доменного имени, почему? Поскольку в процессе разрешения доменного имени本机Hosts
Разбор в порядке два
А именно: парсинг браузера ->本机解析
-"XXXX (будет упомянуто позже)
Поэтому иногда мы проституируем программное обеспечение и меняем его.Hosts
, так как ему необходимо указать подтвержденное в сети доменное имя на неправильный адрес, и может быть некоторый кеш браузера или локальный кеш, вы можете перезапустить браузер илиPING
доменное имя, чтобы проверить, вступили ли изменения в силу.
Что, черт возьми, такое разрешение DNS?
много раз упоминалось выше解析
, по факту,DNS解析
В то же время, как упоминалось выше, что действительно играет роль в онлайн-мире, так этоIP
, и вообще посещаем域名
, почему этот эффект может быть достигнут, так это потому, что соответствие между доменными именами и IP-адресами хранится в файле с именемDNS(Domain Name System)
в системе. DNS — это глобальная распределенная база данных, служба, которую она предоставляет, заключается в преобразовании доменных имен в IP-адреса в Интернете.
Весь процесс разрешения DNS
В Интернете есть много схем этого процесса, и я позаимствовал одну из них, как показано ниже:
-
Кэш браузера: запрос сначала будет искать IP-адрес, сопоставленный доменному имени, с помощью информации кеша браузера, поэтому иногда мы меняем локальные хосты, и нам нужно закрыть и снова открыть браузер, чтобы использовать его в обычном режиме. следующий уровень
-
Собственный системный кеш: как упоминалось выше, через
hosts
файл для сопоставления доменных имен и IP-адресов.В древние времена многие нежелательные программы незаметно изменяли файл hosts системы для достиженияDNS劫持
Цель состоит в том, чтобы указать доменное имя Taobao другомуIP
, а затем разверните торговый центр Taobao с высокой имитацией, тихо ожидающий, пока вы введете номер своей учетной записи, пароль, а затем крутите ... -
Локальная система службы разрешения доменных имен: Локальная система доменных имен (LDNS) обычно является сервером доменных имен в локальной области. Это относительно близко к вашему местоположению, система Windows использует команду
ipconfig
Вы можете просматривать в системах Linux и Mac напрямую использовать командуcat /etc/resolv.conf
для просмотра адреса службы LDNS. LDNS обычно кэширует большую часть результатов разрешения доменных имен, и большая часть работы по разрешению почти завершена.Далее идет так называемый
递归解析
-
Разрешение корневого доменного имени: когда локальная система службы разрешения доменных имен не может разрешить
13根
Инициировать запрос на разрешение доменного имениПримечание. Так называемый корень 13 относится к корневому серверу доменных имен, который является необходимой инфраструктурой для построения Интернета. Корневой сервер в основном используется для управления основным каталогом Интернета.Поскольку протокол UDP используется в разрешении DNS, он может передавать только действительные пакеты размером 512 байт.Поэтому можно построить только 13 корневых серверов AM, и должно быть быть более 13 реальных рабочих операций сервера, но содержит много образов сервера
-
Сервер разрешения имен корневого домена возвращает
gTLD (Generic top-level domain)
На локальный сервер разрешения, то есть домен верхнего уровня, которому принадлежит доменное имя и его сервер, например: .com .cn и т.д. -
После того, как локальный сервер разрешения узнает адрес сервера доменных имен верхнего уровня, он инициирует запрос разрешения.
-
Сервер разрешения доменных имен верхнего уровня возвращает
权限域名服务器
информация на локальный сервер синтаксического анализа,权限域名服务器
Например: taobao.com -
После того, как локальный сервер разрешения узнает адрес авторитетного сервера доменных имен, он инициирует запрос разрешения.
-
Авторитетный сервер доменных имен возвращает IP-адрес, соответствующий доменному имени, локальному серверу разрешения.
-
Локальный сервер синтаксического анализа кэширует соответствующую информацию и возвращает ее пользователю.
Он немного круглый? Давайте возьмем всю картину,递归解析
Следующее:
Спросите еще раз, почему вы можете получить доступ к GitHub, изменив хосты
Разобравшись с вышеизложенным, лучше ответить на этот вопрос, ведь GitHub — это все-таки иностранный сайт, и при посещении есть слойDNS污染
, то есть соответствующее доменное имя указывает на недостижимый IP-адрес или IP-адрес, к которому запрещен доступ, поэтому его нельзя использовать во многих случаях.
После изменения файла Hosts можно избежать загрязнения DNS и получить прямой доступ к целевому IP.Конечно, является ли этот метод универсальным?
Ответ: Конечно, нет, потому что, как упоминалось ранее, уровень шлюза может контролировать определенные IP-адреса, чтобы запретить доступ.
Целый инструмент для проверки догадки, кстати, взгляните на весь наш процесс запроса:
Название программы: BestTrace
Доменное имя, которое я запрашиваю,github.githubassets.com
, окончательный IP-адрес получателя запроса совпадает с IP-адресом, настроенным моими хостами, тогда я поменяю его на facebook.com
Видно, что когда запрос достигает IP 221.183.46.249, весь запрос перехватывается, так что это не панацея
Помимо доступа к GitHub, когда еще его можно использовать?
например скачатьIDEA插件
Если вы обнаружите, что библиотека плагинов не может быть обновлена или загрузка не удалась, вы можете использовать инструмент PING, чтобы настроить лучший IP-адрес для легкой загрузки ~
Что может DNS, кроме разрешения
Умный DNS
Сетевой запрос обрабатывается сервером разрешения доменных имен и назначается лучшему IP-адресу сервера.
Например: является ли источником запроса China Telecom или China Unicom и т. д. Если это China Telecom, то разрешенный IP-адрес будет распределен на соответствующий IP-адрес China Telecom, либо будет возвращен IP-адрес ближайшего сервера.
Горизонтальное масштабирование обратного прокси
В типичной архитектуре Интернета можно увеличитьweb-server
Для расширения производительности веб-слоя, но обратный прокси-сервер nginx по-прежнему является единственным входом во всю систему.
Если пропускная способность системы превышает предел производительности nginx, то расширяться будет сложно, и нужноdns-server
для горизонтального расширения.
То есть сервер разрешения DNS упорядоченно разрешает доменные имена в разные уровни шлюза.Каждый раз, когда делается запрос на разрешение DNS, в результате опроса возвращается другой IP-адрес, так что может быть достигнуто горизонтальное расширение nginx.Этот метод называется ""Циклический перебор DNS"
Наконец
Использованная литература:
Анализ всего процесса разрешения DNS в Blog Park
Что еще может делать DNS, помимо разрешения доменных имен?
Если вы считаете, что это полезно для вас, не забудьте поставить лайк~ Вы также можете отсканировать QR-код, чтобы подписаться на меня и вместе продвигаться к вершине технических специалистов!
В этой статье используетсяmdniceнабор текста