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

в 7:27, , рубрики: big data, data mining, интернет, исследование, Исследования и прогнозы в IT

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

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

А задумывались ли вы сколько сайтов в интернете и что с ними происходит?

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

Впервые я задался этим вопросом больше года назад. Мы начали разработку краулера для вебсайтов и нужно было его тестировать на больших объемах. Взяв ядро краулера, я впервые пробежался по доменам рунета — это 5.5 млн доменов, а после и по всем 213 млн. доменов (осень 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 тыс доменов. Очевидно, что сделать одномоментный слепок состояния сети практически невозможно, но нужно делать это максимально быстро.

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

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

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

Данные

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

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

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

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

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

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

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

Https

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

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

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

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

www или без www?

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

При этом 200 код ответа на версию без www отдает 118.6 млн. доменов, а с www — 119.1 млн доменов.

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

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

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

Редиректы

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

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

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

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

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

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

Server header

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

X-Powered-By

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

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

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

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

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

версии PHP:

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

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

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

Cookies

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

Заключение

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

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

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

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

Автор: sergebezborodov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js