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

Вы можете указать один или несколько параметров для примера 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-клиента поддерживает два типа соединения:

Тайм-аут

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

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

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

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

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

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

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

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

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

Если объект получен по электронной почте, но адрес отправителя неизвестен, рекомендуется использовать [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>

В начало страницы