Docs
Личный кабинетЛК

HTTP


Описание

Модуль http позволяет проводить сканирование с использованием HTTP-запроса.

HTTP-запрос — это сообщение, отправляемое от клиента (в данном случае сетевого сканера) серверу для выполнения определенного действия, например, проверки доступности сервиса или получения данных. Запрос строится в соответствии с протоколом HTTP и содержит информацию о том, какое действие требуется выполнить.

Сканер фиксирует результат выполнения запросов (например, успешность соединения, задержки, ответы сервера и т.д.).

Основные задачи модуля:

  • Проверка доступности веб-серверов
  • Сбор информации о сервере: версия ПО, заголовки, поддерживаемые методы.
  • Анализ содержимого веб-страниц

Автоматически запускает (если это возможно) certificate модуль (см. Certificate).

Запуск сканирования

Для данного модуля свойство runPolicy может быть как always так и triggered.

Для использования полей с типом Список ([]) в запросе необходимо использовать конструкцию matrix (матрица). (см. Матрицы).

Поля для default секции

port

number

Номер порта (от 0 до 65535).

proto

string

Версия протокола (например, HTTP/1.1).

method

string

HTTP-метод (например, GET, POST).

scheme

string

Используемая схема запроса (http/https). Если схема не указана и порт проставлен 443, то по умолчанию схема будет https.

host

string

Доменное имя сервера. Если не указан - подставится IP.

path

string

Путь URL (без домена и параметров).

query

string

Параметры URL после ?.

fragment

string

Якорь URL после #.

headers

object

Заголовки запроса (ключ-значение).


Поля для mutate секции

port

number

Номер порта (от 0 до 65535).

scheme

string

Используемая схема запроса (http/https).

host

string

Доменное имя сервера.

path

string

Путь URL (без домена и параметров).

query

string

Параметры URL после ?.

fragment

string

Якорь URL после #.


Результат сканирования

request

Request

Данные HTTP-запроса (см. структура Request).

statusCode

number

Код статуса HTTP-ответа (например, 200, 404).

contentLength

number

Размер тела ответа в байтах.

headers

Header[]

Заголовки ответа (см. структура Header).

bodySHA256

string

SHA-256 хэш тела ответа.

bodySimHash

string

SimHash тела ответа для сравнения контента.

bodyJson

string

Тело ответа в формате JSON (если применимо).

bodyHtml

string

HTML-код страницы (если ответ текстовый).

title

string

Заголовок HTML-страницы (тег <title>).

lang

string

Язык страницы (атрибут lang из HTML).

scriptSrcs

string[]

Ссылки на внешние скрипты (атрибуты src тегов <script>).

metas

Meta[]

Мета-теги страницы (ключ-значение, например, <meta name = description>) (см. структура Meta).

cookies

Cookie[]

Куки, установленные сервером (см. структура Cookie).

appType

string

Тип приложения (например, веб-фреймворк, CMS).

links

Link[]

Ссылки на странице (например, теги <a>, <link>) (см. структура Link).


Структура Request

ip

string

IP-адрес целевого хоста.

port

number

Номер порта.

proto

string

Версия протокола (например, HTTP/1.1).

method

string

HTTP-метод (например, GET, POST).

scheme

string

Схема (http/https).

host

string

Доменное имя сервера.

path

string

Путь URL (без домена и параметров).

query

string

Параметры URL после ?.

fragment

string

Якорь URL после #.

headers

map<string,string>

Заголовки запроса (ключ-значение).


Структура Header

key

string

Название.

value

string

Значение.


Структура Meta

key

string

Название.

value

string

Значение.


key

string

Название cookie.

value

string

Значение cookie.

path

string

Путь, для которого cookie действительна.

domain

string

Домен, для которого cookie действительна.

secure

boolean

Флаг Secure (передача только по HTTPS).

httpOnly

boolean

Флаг HttpOnly (доступ только через HTTP).


key

string

Название.

value

string

Значение.

Пример использования


tasks:
- uses: http@v1
default:
port: 443
runPolicy: always

tasks:
- uses: http@v1
events:
- event: tcp/probe@v1
mutate:
port: ${{ value.port }}
scheme: ${{ value.isTls ? "https": "http" }}
condition: value.banner == ""
default:
port: 80
runPolicy: triggered
Назад
ARP
Вперед
mDNS