ИССЛЕДОВАНИЕ МЕТОДОВ И СПОСОБОВ ПОЛУЧЕНИЯ ИНФОРМАЦИИ О ВЕБ-РЕСУРСАХ - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

ИССЛЕДОВАНИЕ МЕТОДОВ И СПОСОБОВ ПОЛУЧЕНИЯ ИНФОРМАЦИИ О ВЕБ-РЕСУРСАХ

Хюсеев Б.С. 1, Пескова О.Ю. 1
1Инженерно-технологическая академия Южного Федерального Университета
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

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

  1. Постановка задач

Целью данной статьи является изучение способов получения информации о backend-составляющей произвольного сайта, а также анализ методов, на которых они основываются. Для достижения поставленной цели необходимо:

  1. Составить перечень уже существующих способов получения необходимой нам информации. Под способами подразумеваются различные веб-сервисы, а также утилиты и расширения для браузеров;

  2. Выявить особенности каждого способа;

  3. Сравнить способы между собой;

  4. Проанализировать полученные результаты и выявить методы, которые используются вышеуказанными способами.

  1. Обзор существующих способов получения информации о веб-ресурсах

Составим перечень уже существующих сервисов и утилит, которые позволяют узнать информацию об интернет-ресурсе:

  1. Утилиты (для UNIX-систем):

  1.  
    1. telnet

    2. curl

    3. whatweb

  1. Веб-сервисы:

2.1) builtwith.com – https://builtwith.com

2.2) netcraft.com – http://toolbar.netcraft.com/site_report

2.3) bertal.ru – https://bertal.ru

2.4) w3techs.com – https://w3techs.com/sites

3) Расширения для браузера (в моем случае – Google Chrome):

3.1) Wappalyzer – https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg?hl=ru

3.2) SimilarTech Prospecting – https://chrome.google.com/webstore/detail/similartech-prospecting/jiabgmelnfhgjkfdaoiccfcbaedjfcnm

  1.  
    1. Утилиты

Telnet – сетевой протокол для реализации текстового интерфейса по сети (в современной форме — при помощи транспорта TCP). [1] Это стандартная команда в терминале, позволяет нам узнать веб-сервер, в некоторых случаях его версию, а также другую информацию о сайте (CMS, OS и тд). Это можно осуществить, введя в терминале [2]:

telnet address.domen 80

HEAD / HTTP/1.0

Рисунок 1 – Пример использования утилиты telnet

Как видно на рисунке 1, веб-сервером для сайта sfedu.ru является nginx версии 1.8.1. Из интересующей нас информации можно выделить название и версию веб-сервера.

Особенности:

+ Открытость алгоритма;

+ Определяет веб-сервер (и в некоторых случаях его версию).

– Минимальное количество информации на выходе (не определяет, какая CMS функционирует на сайте);

– Ненадежность работы (информацию о сайте, которая находится в заголовках, можно скрыть).

Curl – свободная, кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL. [3]

С помощью этой утилиты мы можем отправить GET запрос к запрашиваемой странице с помощью команды curl –v ‘Название сайта’. Параметр –v нам нужен для того, чтобы увидеть информацию в заголовках. [4]

Рисунок 2 – Пример использования утилиты curl

На рисунке 2 заметно, что выводимая информация мало чем отличается от той, что предоставлял нам telnet, за исключением кода страницы на языке html.

Особенности схожи с telnet, отличие только в более удобном использовании утилиты.

Whatweb – открытая утилита, позволяющая нам узнать практически полную информацию о сайте: системы управления содержимым (CMS), блог-платформы, программы для аналитики и сбора статистики, библиотеки JavaScript, веб-серверы и использующиеся устройства.

Для того, чтобы получить информацию о сайте, нужно запустить утилиту, указав при этом адрес сайта [5]:

whatweb название_сайта

Рисунок 3 – Пример использования утилиты whatweb

Из рисунка 3 видно, что утилита whatweb возвращает нам информацию о веб-сервере и о фреймворке (JQuery).

Особенности:

+ Открытый алгоритм;

+ Простой синтаксис.

+ Больше информации, в сравнении с telnet/curl;

– Не всегда определяет CMS сайта.

  1.  
    1. Веб-сервисы

Builtwith.com – сайт, предоставляющий сервисы для веб-разработчиков, такие как статистика, аналитика, а также получение достаточно развернутой информации о сайте.

Рисунок 4 – Пример использования сервиса builtwith.com

По данному на рисунке сайту была получена информация о веб-сервере, сертификате SSL, E-mail сервисах, фреймворках, используемых библиотеках JavaScript и т.д.

Особенности:

+ Достаточно подробная информация о сайте;

+ Скорость работы и простота в использовании.

– Закрытый алгоритм;

– Несмотря на подробность информации, иногда возникают неопределенности, как это видно на рисунке, мы получили 2 варианта веб-сервера.

Netcraft.com – сайт, принадлежащий компании Netcraft, которая предоставляет услуги анализа веб-серверов и веб-хостингов, включая анализ с каких операционных систем и браузеров был посещён сайт.

Рисунок 5 – Пример использования сервиса netcraft.com

Важной особенностью этого сервиса является то, что он предоставляет информацию об истории хостинга запрашиваемого сайта, что отражено на рисунке 5.

Особенности:

+ Подробная информация о сайте;

+ История хостинга.

– Нет возможности определить CMS.

Bertal.ru – данный сервис предназначен для просмотра http-заголовков любых веб-файлов (.html, .php, .asp, .gif, .jpg, .css и др.).

Рисунок 6 – Пример использования сервиса bertal.ru

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

W3techs.com – сервис W3Techs предоставляет информацию об использовании различных технологии в сети Интернет. Он также позволяет получить информацию об определенном веб-сайте.

Рисунок 7 – Пример использования сервиса W3Techs

Данный сервис по содержанию информации схож с netcraft.com, отличительной чертой этого сервиса будет выдача оценки сайту, основанной на популярности, загруженности и версии технологии, используемой на этом сайте в сравнении с остальными сайтами.

3.1) Расширения Chrome

Wappalyzer – расширение для Google Chrome, предоставляющее информацию об открытом в данном окне браузера сайте.

Рисунок 8 – Пример использования расширения Wappalyzer

Особенности:

+ Полнота информации

+ Удобство в использовании

+ Открытость алгоритма

– Ненадежность в использовании

– Для работы расширения необходимо открыть нужную страницу в браузере

SimilarTechProspecting – расширение для Google Chrome, позволяющее сделать экспресс-анализ требуемого сайта, отобразить статистику сайта, а также список использованных технологии.

Рисунок 9 – Пример использования расширения SimilarTech Prospecting

Особенности:

+ Подробная информация на выходе;

+ Статистика и анализ сайта;

+ Удобство использования;

+ Надежность в использовании.

– Для работы расширения необходимо открыть нужную страницу в браузере;

– Закрытый алгоритм.

  1. Сравнение известных способов

Для сравнения способов мною были выбраны 20 веб-ресурсов:

– www.aeromaritime.de

– www.artelllc.com

– www.aselsan.com.tr

– www.baesystems.com

– www.bel-india.com

– www.boeing.com

– www.caci.com

– www.cobham.com

– www.comdev.ca

– www.cpii.com

– www.cubic.com

– www.curtisswright.com

– www.datalinksolutions.net

– www.drs.com

– www.eads.com

– www.astrium.eads.net

– www.cassidian.com

– www.elbitsystems.com

– www.emsolutions.com.au

– www.emrise.com

Для каждого способа составим таблицу, в которой будут показаны результаты, отражающие успешность нахождения таких веб-технологии, как веб-сервер и его версия, CMS и ее версия.

  1.  
    1. Telnet

Таблица 1 – Результаты работы утилиты telnet

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

www.artelllc.com

www.aselsan.com.tr

www.baesystems.com

ATLAS Platform

www.bel-india.com

Microsoft-HTTPAPI 2.0

www.boeing.com

www.caci.com

Microsoft-IIS/8.5

www.cobham.com

www.comdev.ca

Nginx/1.10.1

www.cpii.com

Apache

www.cubic.com

www.curtisswright.com

www.datalinksolutions.net

Apache/2.4.23

www.drs.com

Microsoft–IIS/8.0

www.eads.com

Apache

www.astrium.eads.net

Apache/2.2.15

www.cassidian.com

Apache

www.elbitsystems.com

Sucuri/Cloudproxy

www.emsolutions.com.au

nginx

www.emrise.com

Apache

3.2 Curl

Так как принцип работы curl схож с принципом работы telnet, то данному способу будет соответствовать таблица для telnet.

3.3 Whatweb

Таблица 2 – Результаты работы утилиты whatweb

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

WordPress 4.6.1

www.artelllc.com

Apache 2.2.22

WordPress 3.8.1

www.aselsan.com.tr

­– (Error)

www.baesystems.com

Oracle HTTP Server

www.bel-india.com

Microsoft-IIS/7.0

www.boeing.com

Apache-Coyote 1.1

www.caci.com

Microsoft-IIS 8.5

www.cobham.com

– (Error)

www.comdev.ca

Nginx 1.10.1 / Apache

Joomla

www.cpii.com

Apache

www.cubic.com

www.curtisswright.com

www.datalinksolutions.net

Apache/2.4.23

www.drs.com

www.eads.com

Apache

www.astrium.eads.net

Apache/2.2.15

www.cassidian.com

Apache

www.elbitsystems.com

Sucuri/Cloudproxy

www.emsolutions.com.au

nginx

Drupal (Joomla?)

www.emrise.com

Apache

3.4 Builtwith.com

Таблица 3 – Результаты работы сервиса builtwith.com

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

WordPress 4.6

www.artelllc.com

Apache 2.2

WordPress 3.8

www.aselsan.com.tr

Microsoft IIS 8

MS SharePoint Server 2013

www.baesystems.com

IIS

Oracle HTTP Server

nginx

Oracle WebCenter Sites

www.bel-india.com

IIS 7

Drupal 7.3

www.boeing.com

Apache Coyote

HP TeamSite

www.caci.com

IIS 8

Google Search Appliance (???)

www.cobham.com

IIS 7

Umbraco

www.comdev.ca

Apache

Joomla

www.cpii.com

Apache

www.cubic.com

Apache

www.curtisswright.com

IIS/7

Q4Web

www.datalinksolutions.net

Apache/2.4

www.drs.com

www.eads.com

Apache

Magnolia

www.astrium.eads.net

Apache/2.2

www.cassidian.com

Apache

www.elbitsystems.com

Thomson Reuters Corporate Solutions

www.emsolutions.com.au

nginx

Joomla/Drupal

www.emrise.com

Apache

3.5 Netcraft.com

Таблица 4 – Результаты работы сервиса netcraft.com

 

Веб-сервер

CMS

www.aeromaritime.de

Microsoft IIS/5.0

WordPress

www.artelllc.com

Apache

WordPress

www.aselsan.com.tr

IIS/8.5

sharepoint

www.baesystems.com

Oracle-HTTP-Server/11.1.1.9.0

www.bel-india.com

IIS/7.0

www.boeing.com

Apache-Coyote/1.1

Interwoven

www.caci.com

IIS/8.5

www.cobham.com

IIS/7.0 (?)

www.comdev.ca

nginx/1.10.1

Joomla

www.cpii.com

Apache

www.cubic.com

IIS/7.0 (?)

DotNetNuke

www.curtisswright.com

www.datalinksolutions.net

Apache/2.4.23

www.drs.com

IIS/8.0 (?)

www.eads.com

Apache

www.astrium.eads.net

Apache/2.2.15

www.cassidian.com

Apache

www.elbitsystems.com

Sucuri/Cloudproxy

www.emsolutions.com.au

Advanced Hosting by http//www.unixy.net/varnish

www.emrise.com

Apache

3.6 Bertal.ru

Так как принцип работы этого сервиса схож с telnet, то для этого сервиса соответствует идентичная telnet таблица.

3.7 W3Techs.com

Таблица 5 – Результаты работы сервиса W3Techs.com

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

WordPress/4.6.1

www.artelllc.com

Apache/2.2.22

WordPress/3.8.1

www.aselsan.com.tr

Microsoft-IIS

SharePoint

www.baesystems.com

Oracle HTTP Server 11.1.1.9.0

www.bel-india.com

Microsoft-IIS/7.0

Drupal (использовался ранее, нынешняя CMS неизвестна)

www.boeing.com

Tomcat

www.caci.com

Microsoft-IIS/8.5

www.cobham.com

www.comdev.ca

Apache

Joomla/3.5.0

www.cpii.com

Apache

www.cubic.com

Microsoft-IIS

DotNetNuke

www.curtisswright.com

www.datalinksolutions.net

Apache/2.4.23

www.drs.com

www.eads.com

Apache

www.astrium.eads.net

Apache

www.cassidian.com

Apache

WordPress

www.elbitsystems.com

www.emsolutions.com.au

Nginx

Drupal

www.emrise.com

Apache

3.8 Wappalyzer

Таблица 6 – Результаты работы расширения wappalyzer

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

WordPress 4.6.1

www.artelllc.com

Apache 2.2.22

WordPress 3.8.1

www.aselsan.com.tr

IIS

MS SharePoint 15.0.0.4771

www.baesystems.com

Oracle HTTP Server

-

www.bel-india.com

IIS 7

-

www.boeing.com

Apache Tomcat 4.1+

-

www.caci.com

IIS 8.5

-

www.cobham.com

(не удалось соединиться)

(не удалось соединиться)

www.comdev.ca

Apache

Joomla

www.cpii.com

Apache

-

www.cubic.com

www.curtisswright.com

IIS

www.datalinksolutions.net

Apache/2.4.23

www.drs.com

www.eads.com

Apache

www.astrium.eads.net

Apache/2.2.15

www.cassidian.com

www.elbitsystems.com

WordPress

www.emsolutions.com.au

Nginx

Drupal

www.emrise.com

Apache

3.9 SimilarTech Prospecting

Таблица 7 – Результаты работы расширения similartech prospecting

 

Веб-сервер

CMS

www.aeromaritime.de

Apache

WordPress

www.artelllc.com

Apache

WordPress

www.aselsan.com.tr

SharePoint

www.baesystems.com

Oracle WebCenter

www.bel-india.com

IIS

www.boeing.com

Apache

HP TeamSite

www.caci.com

www.cobham.com

www.comdev.ca

nginx

www.cpii.com

Apache

www.cubic.com

DNN Software

www.curtisswright.com

www.datalinksolutions.net

Apache

www.drs.com

IIS

Umbraco

www.eads.com

Apache

BigIP

www.astrium.eads.net

Apache

www.cassidian.com

www.elbitsystems.com

www.emsolutions.com.au

Apache

www.emrise.com

Apache

Web Dot Com

Исходя из полученных результатов, можно сделать вывод, что наилучшими решениями для определения веб-сервера являются сервисы builtwith.com и netcraft.com. Наихудшими решениями для этой же задачи будут утилиты telnet/curl, сервис bertal.ru и расширение SimilarTech Prospecting.

Для задачи определения CMS лучше всего подойдет сервис builtwith.com, хуже всего – утилита whatweb. Для решения данной задачи утилиты telnet и curl, а также сервис bertal.ru не подойдут в принципе.

  1. Возможные методы получения информации о веб-ресурсах

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

  1.  
    1. telnet/curl/bertal.ru

В основе этих способов лежит чтение информации в заголовках ответов, получаемых на GET-запросы к серверам. [6] Данный метод очень ненадежен, так как мы не получаем информации о CMS, потому что она не указывается в заголовках. Также не всегда удается получить информацию о веб-сервере, так как ее можно скрыть (подробнее о том как это сделать для Apache: http://guruadmin.ru/page/hide-apache-software-version).

  1.  
    1. whatweb /W3Techs/Wappalyzer

В основе этих методов лежит анализ исходного кода веб-ресурса с дальнейшим поиском в полученном коде упоминаний об уже известных веб-технологиях. [7-9] Данный метод имеет вероятностный характер, так как нет гарантии того, что в исходном коде страницы мы найдем какие-либо упоминания о нужных нам веб-технологиях. Также на вероятность успешного получения информации о сайте влияет количество известных данному способу веб-технологии (чем больше известно, тем больше вероятность).

  1.  
    1. builtwith.com/netcraft.com/similartech prospecting

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

Заключение

На сегодняшний день не существует такого способа получения информации о веб-ресурсах, который давал бы полную и на 100% точную информацию о запрашиваемом веб-ресурсе, по той причине, что такая информация по желанию владельца сайта может оставаться конфиденциальной. Поэтому способы, позволяющие получить наиболее полную информацию о нужном веб-ресурсе, зачастую носят вероятностный характер, который из-за своих особенностей, рассмотренных в главе 4.2, не позволяет получить точную информацию о сайте. Вероятность успешного нахождения информации для заданного веб-ресурса также зависит от количества известных конкретному способу веб-технологии. С появлением новых веб-технологии становится очень важным детальное рассмотрение особенностей каждой из них, так как отсутствие информации о таких технологиях резко снижает шансы на успешное получение нужной информации.

В данной статье были рассмотрены и сравнены между собой различные известные способы решения задачи определения информации о веб-технологиях, используемых в тех или иных веб-ресурсах. Информация, полученная в результате данного исследования может помочь в построении собственных алгоритмов получения информации о веб-ресурсах.

Список использованных источников

  1. Telnet [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://ru.wikipedia.org/wiki/Telnet (дата доступа: 27.10.2016).

  2. Узнаем версию веб-сервера и установленного на нем ПО [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: http://guruadmin.ru/page/uznaem-versiju-veb-servera-i-ustanovlennogo-na-nem-po (дата доступа: 27.10.2016).

  3. cURL [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://ru.wikipedia.org/wiki/CURL (дата доступа: 27.10.2016).

  4. curl.1 the man page [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://curl.haxx.se/docs/manpage.html (дата доступа: 27.10.2016).

  5. Инструкция по WhatWeb: как узнать движок сайта в Kali Linux [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://codeby.net/bezopasnost/instrukcija-po-whatweb-kak-uznat-dvizhok-sajta-v-kali-linux/ (дата доступа: 27.10.2016).

  6. Простым языком об HTTP [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://habrahabr.ru/post/215117/ (дата доступа: 27.10.2016).

  7. The WhatWeb Wiki [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://github.com/urbanadventurer/WhatWeb/wiki (дата доступа: 27.10.2016).

  8. W3Techs – Frequently Asked Questions [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://w3techs.com/faq (дата доступа: 27.10.2016).

  9. Wappalyzer – FAQ [Электронный ресурс]. – Электрон. текстовые дан. – Режим доступа: URL: https://wappalyzer.com/faq (дата доступа: 27.10.2016).

Просмотров работы: 234