---
url: https://docs.ogmabox.com/ru/app/search.md
description: >-
  Ищите в трафике и результатах проверки безопасности проекта Ogma с помощью
  HTTPQL и фильтров содержимого.
---

# Поиск {#search}

Поиск обрабатывает перехваченный HTTP-трафик текущего проекта, включая записи за пределами загруженных строк истории HTTP.

## Открытие поиска {#opening-search}

Нажмите **Поиск** в левой навигации. Введите структурированные критерии и/или выражение HTTPQL, затем нажмите **Поиск** или Enter. Ввод меняет критерии без выполнения нового поиска. Используйте постраничную навигацию для остальных результатов.

## Синтаксис HTTPQL {#httpql-syntax}

HTTPQL — структурированный язык запросов к HTTP-трафику. Он сопоставляет поля запросов и ответов с помощью типизированных операторов.

### Поля {#fields}

| Поле | Что проверяет |
|-------|---------|
| `req.host` | Имя хоста запроса. |
| `req.path` | Путь запроса. |
| `req.method` | HTTP-метод (GET, POST и т. д.). |
| `req.body` | Содержимое тела запроса. |
| `resp.code` | Код статуса ответа (целое число). |
| `resp.len` | Длину тела ответа в байтах (целое число). |
| `resp.body` | Содержимое тела ответа. |
| `resp.header["Name"].value` | Значение именованного заголовка ответа. |
| `req.header["Name"].value` | Значение именованного заголовка запроса. |
| `req.has_finding` | Истинно, если к запросу привязан хотя бы один результат проверки безопасности. |
| `req.tag` | Строку тега запроса. |

### Операторы {#operators}

| Оператор | Применяется к | Значение |
|----------|-----------|---------|
| `eq` | строка, целое число | Точное совпадение. |
| `ne` | строка, целое число | Не равно. |
| `cont` | строка | Содержит подстроку. |
| `ncont` | строка | Не содержит подстроку. |
| `regex` | строка | Соответствует регулярному выражению. |
| `gt` | целое число | Больше. |
| `gte` | целое число | Больше или равно. |
| `lt` | целое число | Меньше. |
| `lte` | целое число | Меньше или равно. |
| `exists` | заголовки | Заголовок присутствует. |

### Объединение выражений {#combining-expressions}

Объединяйте условия через `AND` и `OR`. Скобки задают приоритет. Для исключения совпадений используйте отрицательные операторы, например `ne` или `ncont`.

```text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500
```

## Примеры запросов {#example-queries}

Найти POST-запросы с ошибкой диапазона 500:

```text
req.method.eq:POST AND resp.code.gte:500
```

Найти запросы с заголовком Authorization:

```text
req.header["Authorization"].value.exists
```

Найти большие ответы определённого хоста:

```text
req.host.eq:api.example.com AND resp.len.gt:100000
```

Найти запросы с тегом для дальнейшей проверки:

```text
req.tag.eq:followup
```

Найти все запросы с привязанным результатом проверки безопасности:

```text
req.has_finding.eq:true
```

Найти запросы, в телах ответов которых есть известная строка ошибки:

```text
resp.body.cont:"stack trace"
```

## Сохранённые поиски {#saved-searches}

Используйте **Закрепить** рядом с полем HTTPQL для сохранения часто используемого запроса. Выберите закреплённый запрос для применения; удалите его метку, когда он больше не нужен. История запросов также помогает повторно использовать недавние выражения.

Вкладки поиска позволяют сравнивать независимые запросы во время текущего посещения. Они не являются постоянно сохранёнными поисками. Для именованных структурированных настроек с экспортом и импортом используйте [страницу фильтров](./filters.md).

## Просмотр результатов {#inspecting-results}

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

## Помощь ИИ {#ai-assist}

При настроенном ИИ-сервисе нажмите **ИИ** рядом с полем запроса и опишите поиск обычным языком. Ogma создаст выражение HTTPQL. Проверьте его перед запуском.

* «POST-запросы с ошибками сервера» > `req.method.eq:POST AND resp.code.gte:500`
* «Ответы больше 50 КБ от поддомена API» > `req.host.cont:api AND resp.len.gt:51200`
* «Запросы с привязанными результатами проверки безопасности» > `req.has_finding.eq:true`

## Связанные страницы {#related-pages}

* [HTTPQL и StreamQL](../reference/httpql.md)
* [История HTTP](./http-history.md)
* [Фильтры](./filters.md)
