Синтаксис и параметры для HTTP-клиента

05 марта 2024

ID 179884

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

Options

В примере HTTP-клиента доступны следующие параметры:

Параметры для запуска примера HTTP-клиента

Параметр

Описание

-s

Задает адрес Kaspersky Scan Engine или путь к Unix-сокету. Строку подключения можно указывать в кавычках или без них. Если этот параметр не указан, используется Unix-сокет по умолчанию /tmp/.kavhttpd.

UNIX-сокеты поддерживаются только в системах Linux.

-t

Задает время ожидания обработки запроса в миллисекундах.

-u

Задает URL-адрес для сканирования.

Одновременно можно указать только один URL-адрес.

-i

Задает IP-адрес (IPv4 или IPv6) узла, на который ссылается URL-адрес. Этот параметр можно использовать только с -u .

Указание IP-адреса увеличивает коэффициент обнаружения Kaspersky Scan Engine.

-f

Включает режим сканирования файлов.

-c

Задает контекст задачи сканирования. Если указан этот параметр, запрос должен иметь заголовок X-KAV-ObjectURL, содержащий значение параметра, без кавычек.

--req

Задает путь к файлу с заголовками запросов, которые были получены из HTTP-трафика для проверяемого объекта.

--resp

Задает путь к файлу с заголовками ответов, которые были получены из HTTP-трафика для проверяемого объекта.

-b

Показывает дату выпуска антивирусных баз. Вы можете использовать этот параметр, чтобы проверить, запущен ли kavhttpd. Может использоваться с параметрами -s, -t и -j.

-v

Показывает текущую версию KAV SDK Вы можете использовать этот параметр, чтобы проверить, запущен ли kavhttpd. Может использоваться с параметрами -s, -t и -j.

-l

Показывает информацию о текущем файле ключа. Вы можете использовать этот параметр, чтобы проверить, запущен ли kavhttpd. Может использоваться с параметрами -s, -t и -j.

-h

Показывает справочную информацию.

-j

Выполняет HTTP-запрос в формате JSON.

-d

Выполняет HTTP-запрос на запуск обновления антивирусных баз. Может использоваться с параметрами -s, -t и -j.

-p

Показывает статус процесса обновления антивирусных баз. Может использоваться с параметрами -s, -t и -j.

‑‑getstat

Получает накопленную статистику. Может использоваться с параметрами -s, -t и -j.

‑‑clearstat

Очищает накопленную статистику. Может использоваться с параметрами -s, -t и -j.

-o

При выполнении HTTP-запроса в формате JSON пропускает объекты с результатом сканирования CLEAN из массива subObjectsScanResults в ответном сообщении. Может использоваться только с параметром -j.

--cipher

Задает набор шифров, который должен использоваться для обмена с kavhttpd.

В TLS 1.2 поддерживаются следующие наборы шифров:

  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-AES256-SHA384
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES128-SHA256
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-SHA384
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-SHA256
  • ECDHE-RSA-CHACHA20-POLY1305
  • DHE-RSA-AES256-GCM-SHA384
  • DHE-RSA-AES256-SHA256
  • DHE-RSA-AES128-SHA256
  • DHE-RSA-CHACHA20-POLY1305

В TLS 1.3 поддерживаются следующие наборы шифров:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

По умолчанию используется следующее значение: ECDHE-ECDSA-AES256-GCM-SHA384.

‑-check‑period

Проверяет, соответствует ли срок действия сертификата текущей дате в зависимости от часового пояса.

По умолчанию проверка не выполняется.

‑-check‑subject

Проверяет, совпадает ли имя субъекта сертификата (поля SubjectAltNames и Common Name) с доменным именем сервера.

--check‑chain

Проверяет сертификат по пути сертификации.

--ca-path

Задает полный путь к директории, в которой хранятся сертификаты CA. Сертификат из указанной директории используется для проверки действительности сертификата TLS и его конфигурации.

Если этот параметр не указан, HTTP-клиент использует следующие пути:

  • /etc/pki/tls/certs
  • /etc/ssl/certs

Чтобы использовать параметр --ca-path, подготовьте директорию, содержащую сертификаты, как описано в примерах синтаксиса.

--ca-cert

Задает полный путь к директории, в которой хранится пакет CA. Пакетный файл используется для проверки действительности сертификата TLS и его конфигурации.

Если этот параметр не указан в операционной системе Linux, HTTP-клиент использует один из следующих файлов (в зависимости от того, какой из них будет найден первым):

  • /etc/ssl/certs/ca-certificates.crt
  • /etc/pki/tls/certs/ca-bundle.crt
  • /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
  • /etc/ssl/ca-bundle.pem

‑‑repeat‑timeout REPEAT_TIMEOUT

Указывает, что сканирование объектов будет повторяться не менее REPEAT_TIMEOUT секунд.

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

--quiet

Результаты сканирования не отображаются.

‑‑threads THREADS (=1)

Задает количество потоков для параллельного сканирования файлов.

-m [ ‑‑measure ]

Измеряет и отображает следующее:

  • Время сканирования в формате %H:%M:%S.%ms.
  • Накопленная статистика сканирования до и после сканирования.

--auth-field

Указывает имя поля заголовка запроса, используемого для аутентификации.

Если не указано иное, по умолчанию используется имя Authorization.

--access-token

Указывает значение токена API, используемого для аутентификации.

Объедините эту опцию с --auth-field.

--add-bearer-prefix

Добавляет префикс Bearer к значению токена API, указанному в --access-token.

Объедините эту опцию с --access-token.

Тип соединения

Пример HTTP-клиента поддерживает два типа соединения:

  • TCP-соединение

    Чтобы использовать TCP-соединение, укажите IP-адрес в параметре -s в следующем формате: "ip_addr:port".

  • Соединение через UNIX-сокет (только для Linux)

    Чтобы использовать UNIX-сокет, укажите путь к сокету в параметре -s.

    Этот параметр используется по умолчанию. Файл сокета по умолчанию /tmp/.kavhttpd.

Тайм-аут

Пример HTTP-клиента использует значение, указанное в параметре -t, для определения тайм-аута сканирования, аналогично заголовку X-KAV-Timeout.

Значение тайм-аута по умолчанию 2000.

Если в этом параметре указано 0, тайм-аут бесконечен.

Режим сканирования

Пример HTTP-клиента поддерживает два режима проверки, которые можно указать с помощью параметра -f:

  • режим сканирования файлов (-f).

    В этом режиме пример HTTP-клиента передает пути к файлам в Kaspersky Scan Engine, который читает файлы и проверяет их.

    Чтобы отправить запрос на сканирование на удаленный компьютер через TCP-сокет, вы должны указать пути к файлам, которые вы хотите сканировать, или директориям, которые содержат эти файлы. Вам не нужно этого делать, если пример HTTP-клиента и Kaspersky Scan Engine находятся на одном компьютере.

  • режим сканирования памяти (по умолчанию).

    В этом режиме пример HTTP-клиента передает содержимое файла в Kaspersky Scan Engine, который сканирует содержимое.

    Используйте только режим очистки KAV_SKIP с режимом сканирования памяти. Kaspersky Scan Engine не может лечить или удалять файлы в этом режиме.

Контекст задачи сканирования

Kaspersky Scan Engine использует контекст задачи сканирования для повышения коэффициента обнаружения. Использование этого параметра не влияет на производительность сканирования.

Рекомендуется использовать контекст задачи сканирования при интеграции типа gateway.

Используйте следующий формат для контекста:

  • Если объект для сканирования был получен из Интернета, укажите URL источника, включая протокол,

    Пример: http://example.com

    Поддерживаются протоколы HTTP, HTTPS и FTP. Если исходный URL-адрес неизвестен, рекомендуется использовать http://example.com в качестве контекста задачи сканирования.

  • Если объект для проверки был получен по электронной почте, укажите адрес отправителя. Используйте следующий формат: [from:%sender_address%].

    Пример: [from:example@example.com]

Если объект получен по электронной почте, но адрес отправителя неизвестен, рекомендуется использовать [from:test@relay.example] в качестве контекста задачи сканирования.

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

Заголовки запросов и ответов

Указание заголовков запросов и ответов, собранных из HTTP-трафика, относящегося к проверяемому объекту, повышает коэффициент обнаружения. Рекомендуется использовать заголовки запроса и ответа при интеграции типа gateway.

Информационные сообщения

Параметры -b, -v и -l можно использовать только вместе с параметрами -s, -j и -t. Если вы используете их с любым другим параметром, kavhttp_client вернет ошибку.

Вы можете использовать параметры -b, -v и -l, чтобы проверить, запущен ли kavhttpd.

Сканирование файлов

Вы можете указать один или несколько файлов для сканирования, разделив их пробелом. В зависимости от режима сканирования, пример HTTP-клиента затем передает пути к этим файлам или их содержимому в Kaspersky Scan Engine.

Также вы можете указать директорию, в которой хранятся файлы. Все файлы, находящиеся внутри этой директории и всех вложенных в нее директорий, будут просканированы.

Используйте следующий синтаксис для сканирования файлов в режиме сканирования файлов:

./kavhttp_client [-s <ip:port | unix-socket>] [-t <timeout>] [-c <context>] [--req <req_file>] [--resp <resp_file>] -f <file1> [<file2>...]

Используйте следующий синтаксис для сканирования содержимого файлов в режиме сканирования памяти:

./kavhttp_client [-s <ip:port | unix-socket>] [-t <timeout>] [-c <context>] [--req <req_file>] [--resp <resp_file>] <file1> [<file2>...]

Сканирование URL-адресов

Вы можете указать URL-адрес для сканирования. Если URL-адрес содержит пробелы или табуляции, заключите URL-адрес в кавычки или используйте URL-кодирование. Аналогичным образом, если URL-адрес содержит кавычки ("), используйте URL-кодирование.

Одновременное сканирование нескольких URL-адресов не поддерживается. Если вы укажете более одного URL-адреса, будет сканироваться только первый.

Файлы не могут быть просканированы, если указан параметр -u. Параметры -u и -f нельзя использовать вместе.

Используйте следующий синтаксис для сканирования URL-адреса:

./kavhttp_client [-s <IP:port | unix-socket>] [-t <timeout>] [-i <IP>] -u <URL>

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!