---
url: https://docs.ogmabox.com/ar/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 KB من نطاق 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)
