Главная » Хабрахабр » Как мы просканировали весь интернет и что мы узнали

Как мы просканировали весь интернет и что мы узнали

Сколько сайтов вы используете ежедневно? Пару социальных сетей, поисковик, несколько любимых издательств, около 5 рабочих сервисов. Пожалуй, вряд ли наберется более 20 сайтов.

Но мне всегда было интересно, можно ли пробежаться по всем доменам интернета, не строя аналитику на очень малой выборке. А задумывались ли вы сколько сайтов в интернете и что с ними происходит?
Периодически попадаются статьи с исследованиями, построенными на выборке разных топ 1М сайтов.

Мы начали разработку краулера для вебсайтов и нужно было его тестировать на больших объемах. Впервые я задался этим вопросом больше года назад. 5 млн доменов, а после и по всем 213 млн. Взяв ядро краулера, я впервые пробежался по доменам рунета — это 5. доменов (осень 2017 года).

За прошедшее время было вложено немало сил и средств в разработку, алгоритмы стали получше, я решил вернуться к анализу интернета и собрать еще больше данных.

Цель этого сбора информации — получить достоверную выборку в первую очередь по рабочим хостам, редиректам, заголовкам server и x-powered-by.

Методика сбора

Само приложение написано на Go, используются собственные реализации для работы с dns и http клиент. В качестве очереди redis, бд — mysql.

Анализ состоит из нескольких этапов: Исходно есть только голый домен, вида example.com.

  1. проверить доступность http://example.com, http://www.example.com, https://example.com, https://www.example.com
  2. если хоть к какому то варианту удалось подключиться, то:
    — анализируем /robots.txt
    — проверяем наличие /sitemap.xml

Каждый день появляется и удаляется около 100 тыс доменов. Очевидно, что сделать одномоментный слепок состояния сети практически невозможно, но нужно делать это максимально быстро.

Таким образом проверка 252 млн доменов заняла примерно полтора дня. Мы развернули дополнительный кластер серверов краулера, что позволило достичь средней скорости 2 тыс доменов в секунду.

Лирическое отступление

Это просто бич любого более-менее крупного анализа. Параллельно с краулингом развивается навык “1001 способ ответить на абузы“. Стоило немало сил доработать алгоритм, чтобы он не попадал за короткий промежуток на одни и те же ip или не стучался несколько раз на https.

Данные

Самая главная цифра при анализе сети — это количество “живых” доменов. Мы называем домен “живым” на который резолвится IP и хоть одна из версий www/без_www http/https отдает любой код ответа.

Конечно же нельзя забывать про код 418 — чайники: 2227 штук.

2 млн ip адресов. Всего было найдено 13. Стоит отметить, что по некоторым доменам отдается сразу несколько ip адресов, по другим только один, но каждый раз разный.
Таким образом, средняя температура по больнице, в среднем на одном IP находится 16 сайтов.

Картина по статус кодам выглядит следующим образом:

каждый хост может отдавать 4 разных статус кода (комбинации www/non www, http/https) сумма больше общего количества доменов, т.к.

Https

Переход на https является трендом последних лет. Поисковики активно продвигают внедрение защищенного протокола, а Google Chrome скоро начнет помечать http сайты как незащищенные.

Таким образом доля работающих сайтов по https достигла 73% от количества сайтов работающих по http.

для поисковиков http/https даже на одном домене технически являются разными сайтами. Самой большой проблемой перехода является практически неминуемая просадка трафика, т.к. Новые проекты обычно сразу запускаются на https.

www или без www?

Поддомен www возник примерно вместе с самим Интернетом, но даже и сейчас некоторые люди не воспринимают адреса без www.

6 млн. При этом 200 код ответа на версию без www отдает 118. 1 млн доменов. доменов, а с www — 119.

3 млн доменов не подвязаны ip на версию без www, т.е. У 4. У 3 млн. вы не зайдете на сайт по example.com. доменов не подвязаны ip на поддомен www.

Т.к. Важный момент — это наличие редиректов между версиями. Хочется напомнить, не забывайте настраивать корректные редиректы.
Редиректов с www->без www 32 млн., без www->www 38 млн. если будут в обоих случаях отдаваться 200 коды, то для поисковика это два разных сайта с дублированным контентом.

Глядя на эти цифры мне сложно сказать кто победил — www или без www.

Редиректы

В seo кругах бытует мнение, что самым эффективным методом продвижения сайта является простановкой на него редиректов с околотематических сайтов.

8 млн доменов редиректят на другие хосты и если сгруппировать их по назначению, видим лидеров: 35.

Традиционно в топе находятся доменные регистраторы и парковки.

Если посмотреть на топ по количеству менее 10000 входящих редиректов, то можно увидеть много знакомых сайтов типа booking.com.

А в топ до 1000 появляются казино и прочие развлекательные сайты.

Server header

Наконец-то добрались до самого интересного!

Это 87% от всех живых доменов, вполне достоверная выборка. 186 млн доменов отдают не пустой заголовок Header.

Если сгруппировать просто по значению, то получим:

Лидерами являются 20 серверов, которые в сумме имеют 96%:

В сумме эти три сервера хостят 87% мирового интернета. Мировой лидер — Apache, серебро у Nginx и замыкает троицу IIS.

Страны консерваторы:

Примечательно, что в Рунете картина иная:

Здесь абсолютным лидером является Nginx, apache имеет долю в три раза меньше.

Где еще любят Nginx:

Оставшиеся сервера распределены следующим образом:

X-Powered-By

Заголовок X-Powered-By есть только у 57.3 млн хостов, это примерно 27% от живых доменов.

В сыром виде лидеры:

если обработать данные и отбросить мусор — то php побеждает:

версии PHP:

6 и в тоже время радует, что суммарная доля семерок растет. Лично меня несколько удивляет такая популярность 5.

0, но правдивость этой цифры вызывает сомнения. Также есть один сайт в рунете, который говорит, что работает на php/1.

Cookies

Заключение

Я показал лишь очень малую часть информации, которую удалось найти. Копание в этих данных напоминает рытье в куче мусора с целью найти интересные артефакты.

На такой выборке немало находится различных сеток саттелитов, как ни пытайся скрыть футпринты, но на тысячах доменов можно увидеть закономерности. Не раскрытыми остались темы с блокировкой ботов поисковиков и сервисов аналитики (ahrefs, majestic и другие).

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

Буду рад услышать ваши комментарии и замечания.


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

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Мои любимые примеры функционального программирования в языке Kotlin

Давайте посмотрим и обсудим некоторые простые, но выразительные функции, написанные на языке Kotlin. Одной из замечательных особенностей Kotlin является то, что он поддерживает функциональное программирование. Работа с коллекциями Есть множество разнообразных функций. Kotlin поддерживает удобную работу с коллекциями. Нам нужно ...

[Перевод] 10 цитат плохих дизайнеров

Эта статья подходит к вопросу с другой стороны — в ней я хотел бы поговорить о том, какие признаки указывают на плохого дизайнера. В Интернете есть множество материалов о том, как выявить хорошего дизайнера. Ниже приведу десять цитат, которые помогут ...