Big Data
Data Mining
Исследования и прогнозы в IT
Комментарии 75
НЛО прилетело, и опубликовало эту надпись здесь
0
Здравствуйте, спасибо за статью. Напишу здесь вопросы, возможно это будет еще кому-нибудь интересно:
1) можете более точно описать конфигурацию серверов, на которых это все дело запускалось (сколько ядер, памяти и т.д)

2) В Golang вы используете стандартный http клиент, без всяких чит кодов, наподобие fasthtttp?

3) В своих сервисах по краулингу пишете с нуля (на базе готовой, которя уже реализует небольшой функционал, она вроде из пакета golang.org/x/html) библиотеку по разбору DOM страниц или уже готовую (Goquery например)?

4) Пробовали что-то подобное на php сделать, как считаете, когда уже целесообразно будет вместо php взять Go, и какие библиотеки использовали из php?
0
я боюсь, что мы его дружно положим хабраэффектом, скину вам в личку адрес
скрин заголовков:
image
+1
Может его стоит простимулировать хабраэффектом?
0
согласен, но я очень сомневаюсь, что хотя бы каждый десятый подставляет фейк значение, чаще всего просто отключают
0
Но ведь сайт такой только один) Да и, вроде, не было никогда версии PHP 1.0
+1
как выяснили в переписке в личке, сама суть сайта — печать 3д появилась гораздо позже, чем пхп 1
0

А откуда вы набрали доменные имена? Если обходом в глубину — deep web в вашей выборке не присутствует, в противном случае остаётся либо базы регистраторов доменов, либо брутфорс.

0
покупаем базу доменов у аггрегаторов, самая главная проблема этих баз — там нет поддоменов
+1

А меж тем поддомен — это вполне самостоятельный домен, на котором может быть и другой сервер и другой стек. Что делает статистику несколько неполной.

0
Мне кажется, что проценты это поменяет лишь в рамках погрешности. Да и как отличать — поддомен это или один и тот же сайт, как раньше было с никами на хабре? Такие сайты как раз сместят статистику в сторону более ошибочной
+4
Как мы просканировали весь интернет и что мы узнали
резолвится IP и хоть одна из версий www/без_www http/https отдает любой код ответа
Вы не просканировали весь Интернет, а только попытались просканировать всемирную паутину, которая является его частью.
0
согласен с «паутиной», статьи я пока пишу хуже, чем код
к более глубокому сканированию мы идем постепенно, следующая цель собрать несколько млрд страниц со всех сайтов и по ним строить аналитику
+7
kafeman, вероятно, имел в виду, что Интернет не ограничивается Вебом. Помимо веб-серверов, в сеть «смотрят» и другие, по другим протоколам.
0
Лично меня несколько удивляет такая популярность 5.6

Ничего сверх-удивительного. Фреймворки берутся под 5.6, версия 5.6 берется доступная под платформу, 7 не берется из-за потенциальных проблем совместимости кода php5 с движком php7, а перепиливать фреймворк это дело небыстрое. Плюс легаси, в виде фреймворков же, но старых неподдерживаемых версий, плюс настройки вида "раз поднял, два забыл, так и крутится", плюс 5.6 это последняя версия пятого пыха. Всё вместе дает достаточный эффект.

0
я очень помню как переходил на 5.6 с 5.4 кажется, было достаточно много правок
а когда с 5.6 на 7 — то толком ничего и не менял, запостил тогда скрин с пинбы:
image
0

Аналогично, переводили кодовую базу порядка миллиона строк кода. Для перехода с 5.4 на 5.6 потребовались усилия отдельной команды до 6 человек и месяца 4 работы.
А вот до 7 обновились менее чем за месяц.

0
Кстати, возможно, на 7 не переходят испугавшиеся после перехода на 5.6
0

Скажите пожалуйста — а откуда берете список доменов по которым нужно ходить?

0
А не проще ли простым перебором комбинаций(знаю, что бесконечно много), для получения экзотических сайтов на которые никто не ссылается, но вполне себе существуют и живут жизнью
0
если домен существует, то он всегда будет в базах регистраторов.
с поддоменами уже сложнее, но перебор как мне кажется уж слишком дорогая операция получится
+1
А можно хотя бы в очень общих чертах, как монетизировать сию деятельность?
0
мы практически не зарабатываем на этом (учесть серверные и прочие расходы)
главная цель для меня как технаря — интересно покопаться в дебрях сети, улучшить алгоритмы краулера (который коммерческий проект) и опыт с большими данными
0

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

0
Подскажите пожалуйста, откуда берётся кука TS01e85bed (последний скрин)?
0
сам хедер там Pepyaka, я дописал _wix чтобы было понятнее
но этимология слова интересна, может кто-то и знает
+1
Лексика Упячки же. Какой-то упячкоид поднял сервер, ну и подставил в заголовок словечко из своего сленга.
0

Пепяка — так в ДИТ компании x5 retail group называют (по крайней мере раньше называли) их розничную сеть (ПЕрекресток, ПЯтерочка, КАрусель)

0
Wix — это же система создания сайтов, конструктор. И судя по данным, 125 тысяч доменов, которые покупались специально для wix и через wix, затем были заброшены и неоплачены, и именно поэтому идёт редирект на главную wix.com.
0
А можно подробней про стек, для чего редис и почему мускул итд. Почему своя реализация dns и http, можно в личку если не хочется на публику.
0
секрета особого нет, редис и мускл — то, с чем хорошо умеем работать
своя реализация для dns и http — ради оптимизации ресурсов.
можно было собрать всю эту инфу и краулером на php, но тогда ты расходы на оборудование возросли в разы
+3
Таким образом доля работающих сайтов по https достигла 73% от количества сайтов работающих по http.

Тогда как вы назовёте "27% от количества сайтов работающих по http"?
Напрашивается так: "доля работающих сайтов не по https (а каких? если всего два типа в выборке) достигла 27% от количества сайтов работающих по http" (или "… по http… от… http", но это ещё хуже, т.к. явный бред).


Одно число может быть меньше/больше другого на Х (в Х раз). Например, "число сайтов, работающих по http больше в 1/0,73=1,37 раза числа сайтов работающих по https".


Процент — это "сотая доля ...". Доля — часть целого. В вашем случае — выборка про протоколам http и https это целое. https и http — это доли. Имеет смысл сравнивать доли между собой в разах (пример выше), но считать сколько одна доля составляет процентов от другой — смысла не имеет.


Выношу этот комментарий в паблик, поскольку весь интернет заполнен подобными "процентами" (да и на Хабре тоже часто встречается).

0
согласен с Вами, правильнее было бы написать долю https от всего хостов отдающих код 200
0
Таким образом доля работающих сайтов по https достигла 73% от количества сайтов работающих по http.
Тогда как вы назовёте «27% от количества сайтов работающих по http»?
Я так понял, что если 100х сайтов работает по http, то по https — 73х
0
Ещё одна интересная околокраулерная штука — это поиск /.{git,svn,hg}. По собственному опыту года полтора назад, валидное содержание в них находилось где-то на одном проценте доменов.
0
добавлю еще интересно количество открытых серверов редиса без пароля, mysql, memcached
но там нужны «правильные» ip, которые позволят забить на абузы
0
каким образом достигается резолвинг domain -> ip со скоростью 2к+ доменов в секунду? точнее, какие сервера способны с такой скоростью выдавать ответы?
0
увы я таких серверов не нашел, для этой задачи нужно очень много dns серверов и очень много ip с которых их можно долбить, где эти сервера брать — отдельная задача
0

Я в начале 2000-ных на Perl+epoll писал подобное. Скорость получил довольно грубым методом: в процессе резолва имеющихся доменов я получал адреса их DNS-серверов, после чего просто проверял не открыт ли на этих серверах рекурсивный ресолвинг всем желающим — и таких было довольно много, так что дальше к ресолвингу подключались найденные "халявные" DNS-сервера. Очень быстро их набиралось достаточно много, чтобы рейт запросов к каждому был достаточно низким и никого не напрягал. Единственно что, на всякий случай делал дублирующую проверку через другой DNS, на случай если кто-то из "халявных" это специальный ханипот возвращающий левые ответы.

0
о да, есть отдельная категория DNS возвращающих всякую хрень, поэтому результаты всегда нужно проверять еще на нескольких, что в сумме дает снижение общего rps
0

Если не путаю, у меня тогда был RPS порядка 900. Помню, огорчался что до тысячи не дотянул немного. Но… это был Perl 15 лет назад на одном 10Mbps сервере. Думаю, сейчас и на Go можно выжать намного больше 2k.

0

Как быстро шел парсинг с одного сервера?
Как добились такой скорости?
Было бы интересно взглянуть на код.

0
самую первую версию краулера я написал где-то за пару часов, «ядром» там было что-то типа
resp, err := http.Get(url)

и оно работало, но очень на малых объемах и до 1-5 rps. Понадобилась куча времени в обнимку с мануалом, дебаггером, профайлером и уже моим любимым Wireshark, чтобы память и сокеты не текли. Код, увы, не opensource
0

:)
Если можете поделиться какими-то интересными наработками, как тюнинговали, переиспользовали буферы, боролись с аллокациями и прочим, то было бы очень интересно.

+2
А как вы получили список доменов? Вы его где-то стянули или по ссылкам сайтов ходили?

Сорян, нашел ответ выше по коментариям. Но судя по всему говоря «а после и по всем 213 млн», по всем, что вы смогли у кого-то купить)?
0
Админы публичных DNS серверов могуть извлечь из них большой список доменов, или даже просто провайдер может логировать домены из всех проходящих DNS запросов.

Есть и такая публичная вещь как Certificate Transparency logs, где сохраняются данные об https сертификатах. https://crt.sh/?id=358997645
0
Очень интересно увидеть пример скрытой сетки на тысячу доменов.
0
такие данные шарить увы не могу, но могу сказать что тысяча доменов это не такая уж и большая сетка
когда я прошлый раз сканил инет зимой, я нашел сетку из 34 тыс сайтов в рунете! при чем сайты были самых разных тематик — от стройки до чуть ли не родов, в бурже все еще интереснее
0
Это была сетка из абсолютно разных сайтов, или все они были похожи друг на друга по названию и внешнему виду? По каким признаком опозналась эта сетка? Один и тот же adsense Id? Это был тупо дорвей или рерайченный через биржу контент? На чём они зарабатывали, на партнёрке, или продаже ссылок, или на Adsense/РСЯ?
Можно пример хотя бы одного сайта из этих 34 тысяч?
0
Отличная аналитика!
Но вы как-то проигнорировали один из актуальнейших вопросов: сколько живых в IPv4 и IPv6?
0
спасибо! ipv6 надеюсь сделаем в будущих исследованиях, пока что допиливаем краулер, для сбора еще большего количества инфы
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.