---
url: https://docs.ogmabox.com/uk/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: можна перемикатися між необробленим і форматованим поданнями, копіювати заголовки або тіло й додавати знахідки безпосередньо з цієї панелі.

## Допомога ШІ {#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)
