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

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).

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