---
url: https://docs.ogmabox.com/de/app/search.md
description: >-
  Durchsuche Ogmas Projektdatenverkehr und Befunde mit HTTPQL und
  Inhaltsfiltern.
---

# Suche {#search}

Die Suche fragt aufgezeichneten HTTP-Verkehr im aktuellen Projekt ab, einschließlich Datensätzen außerhalb der aktuell geladenen Zeilen des HTTP-Verlaufs.

## Die Suche öffnen {#opening-search}

Klicke in der linken Navigation auf **Suche**. Gib strukturierte Kriterien und/oder einen HTTPQL-Ausdruck ein und klicke auf **Suchen** oder drücke die Eingabetaste. Die Eingabe ändert die Kriterien, ohne eine neue Suche auszuführen. Nutze die Seitennavigation, um weitere Ergebnisse zu untersuchen.

## HTTPQL-Syntax {#httpql-syntax}

HTTPQL ist eine strukturierte Abfragesprache für HTTP-Verkehr. Sie gleicht Anfrage- und Antwortfelder mithilfe typisierter Operatoren ab.

### Felder {#fields}

| Feld | Abgleich mit |
|-------|---------|
| `req.host` | Hostname der Anfrage. |
| `req.path` | Anfragepfad. |
| `req.method` | HTTP-Methode (GET, POST usw.). |
| `req.body` | Inhalt des Anfrage-Bodys. |
| `resp.code` | Statuscode der Antwort (Ganzzahl). |
| `resp.len` | Länge des Antwort-Bodys in Bytes (Ganzzahl). |
| `resp.body` | Inhalt des Antwort-Bodys. |
| `resp.header["Name"].value` | Wert des benannten Antwortheaders. |
| `req.header["Name"].value` | Wert des benannten Anfrageheaders. |
| `req.has_finding` | Wahr, wenn der Anfrage mindestens ein Befund zugeordnet ist. |
| `req.tag` | Der Anfrage zugewiesene Tag-Zeichenfolge. |

### Operatoren {#operators}

| Operator | Gilt für | Bedeutung |
|----------|-----------|---------|
| `eq` | Zeichenfolge, Ganzzahl | Exakte Übereinstimmung. |
| `ne` | Zeichenfolge, Ganzzahl | Nicht gleich. |
| `cont` | Zeichenfolge | Enthält Teilzeichenfolge. |
| `ncont` | Zeichenfolge | Enthält Teilzeichenfolge nicht. |
| `regex` | Zeichenfolge | Entspricht regulärem Ausdruck. |
| `gt` | Ganzzahl | Größer als. |
| `gte` | Ganzzahl | Größer oder gleich. |
| `lt` | Ganzzahl | Kleiner als. |
| `lte` | Ganzzahl | Kleiner oder gleich. |
| `exists` | Header | Header ist vorhanden. |

### Ausdrücke kombinieren {#combining-expressions}

Kombiniere Bedingungen mit `AND` und `OR`. Klammern steuern die Rangfolge. Nutze negative Operatoren wie `ne` oder `ncont`, um Treffer auszuschließen.

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

## Beispielabfragen {#example-queries}

Finde POST-Anfragen, die einen Fehler im 500er-Bereich zurückgaben:

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

Finde Anfragen mit einem Authorization-Header:

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

Finde große Antworten eines bestimmten Hosts:

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

Finde Anfragen mit einem Tag zur Nachprüfung:

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

Finde alle Anfragen mit zugeordnetem Befund:

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

Finde Anfragen, deren Antwort-Body eine bekannte Fehlerzeichenfolge enthält:

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

## Gespeicherte Suchen {#saved-searches}

Nutze **Anheften** neben der HTTPQL-Eingabe, um eine häufig verwendete Abfrage für die schnelle Wiederverwendung zu behalten. Wähle eine angeheftete Abfrage zum Anwenden; entferne ihre Markierung, wenn du sie nicht mehr brauchst. Auch der Abfrageverlauf hilft beim Wiederverwenden zuletzt verwendeter Ausdrücke.

Such-Tabs erlauben dir, unabhängige Abfragen während des aktuellen Besuchs zu vergleichen. Sie sind keine dauerhaft gespeicherten Suchen. Für benannte strukturierte Vorlagen, die sich exportieren und importieren lassen, nutze die [Filter-Seite](./filters.md).

## Ergebnisse untersuchen {#inspecting-results}

Klicke auf eine Zeile in der Ergebnistabelle, um Anfrage und Antwort im Inspektor zu öffnen. Er entspricht der Ansicht im HTTP-Verlauf: Du kannst zwischen roher und formatierter Ansicht wechseln, Header oder Body kopieren und direkt in diesem Bereich Befunde hinzufügen.

## KI-Unterstützung {#ai-assist}

Wenn ein KI-Anbieter eingerichtet ist, klicke neben der Abfrageeingabe auf **KI**, um in natürlicher Sprache zu beschreiben, was du finden möchtest. Ogma erzeugt den HTTPQL-Ausdruck. Prüfe die Abfrage vor der Ausführung.

* „POST-Anfragen mit Serverfehlern“ > `req.method.eq:POST AND resp.code.gte:500`
* „Antworten der API-Subdomain größer als 50 KB“ > `req.host.cont:api AND resp.len.gt:51200`
* „Anfragen mit zugeordneten Befunden“ > `req.has_finding.eq:true`

## Verwandte Seiten {#related-pages}

* [HTTPQL und StreamQL](../reference/httpql.md)
* [HTTP-Verlauf](./http-history.md)
* [Filter](./filters.md)
