---
url: https://docs.ogmabox.com/fa/app/automate.md
description: با خودکارسازی Ogma کارزارهای تکرارپذیر درخواست اجرا کنید.
---

# خودکارسازی {#automate}

خودکارسازی یک الگوی درخواست را بارها با تغییر کنترل‌شدهٔ محموله ارسال می‌کند تا بتوانید پارامترها را شناسایی کنید، ورودی‌ها را با داده‌های متنوع بیازمایید یا کنترل دسترسی را در مقیاس بزرگ آزمون کنید.

## ایجاد نشست {#create-a-session}

1. یک درخواست در **تاریخچهٔ HTTP** یا **بازپخش** باز کنید.
2. روی درخواست راست‌کلیک کنید و **ارسال به خودکارسازی** را انتخاب کنید، یا از دکمهٔ نوار ابزار استفاده کنید.
3. درخواست به‌عنوان الگوی نشست باز می‌شود. تمام تنظیمات بعدی روی این الگو اعمال می‌شوند.

## جایگاه‌های محموله {#payload-positions}

جایگاه‌های محموله محل درج محموله‌ها را علامت می‌زنند. Ogma در هر درخواست هر نشانگر را با یک مقدار محموله جایگزین می‌کند.

* متن را در ویرایشگر درخواست انتخاب کنید و برای افزودن نشانگر جایگاه روی **نشانه‌گذاری انتخاب** کلیک کنید.
* با کلیک روی دستگیرهٔ نشانگر و انتخاب **حذف**، نشانگر را حذف کنید.
* چند جایگاه پشتیبانی می‌شود. رفتار آن‌ها به حالت حمله بستگی دارد.

## حالت‌های حمله {#attack-modes}

| حالت | رفتار |
|------|----------|
| Sniper | هر بار یک جایگاه. هر محموله را به‌ترتیب در هر جایگاه امتحان می‌کند. مجموع درخواست‌ها برابر تعداد محموله ضرب‌در تعداد جایگاه است. |
| Battering Ram | مقدار یکسان محموله را هم‌زمان در تمام جایگاه‌ها استفاده می‌کند. |
| Pitchfork | چند جایگاه به‌صورت موازی پیمایش می‌شوند. اولین محمولهٔ فهرست A را با اولین مورد فهرست B جفت می‌کند و همین‌طور ادامه می‌دهد. با پایان کوتاه‌ترین فهرست متوقف می‌شود. |
| Cluster Bomb | تمام ترکیب‌های تمام جایگاه‌ها. تعداد درخواست‌ها برابر حاصل‌ضرب طول تمام فهرست‌ها است. با فهرست‌های کوچک استفاده کنید. |
| ترتیبی | مقدار تنظیم‌شده‌ای را از هر پاسخ استخراج و در درخواست بعدی درج می‌کند. پیش از شروع، استخراج‌کننده، جایگاه هدف و محدودیت تکرار را تنظیم کنید. |

## منابع محموله {#payload-sources}

| منبع | توضیح |
|--------|-------------|
| فهرست واژه | یک فایل با مقادیر جداشده توسط خط جدید بارگذاری کنید یا مقادیر را مستقیماً بچسبانید. |
| اعداد | بازهٔ عددی با شروع، پایان و گام قابل تنظیم تولید کنید. |
| تهی | برای تعداد تکرار تنظیم‌شده، جایگاه را با رشتهٔ خالی جایگزین می‌کند؛ متن اصلی علامت‌گذاری‌شده را حفظ نمی‌کند. |
| فهرست سفارشی | مقادیر را مستقیماً بدون فایل وارد کنید. |

## تطبیق‌دهنده‌ها {#matchers}

تطبیق‌دهنده‌ها ردیف‌های نتیجه‌ای را که شرطی را برآورده می‌کنند علامت می‌زنند. ردیف‌ها را پالایش نمی‌کنند؛ برای هر تطبیق‌دهنده یک ستون بولی اضافه می‌کنند.

* با کلیک روی **+ تطبیق‌دهنده** یک تطبیق‌دهنده اضافه کنید.
* شرط را با **هوش مصنوعی** به زبان معمول توصیف کنید، یا دستی تنظیم کنید.

| نوع تطبیق‌دهنده | زمان مطابقت |
|--------------|--------------|
| وضعیت | کد پاسخ برابر مقدار معین باشد یا با آن تفاوت داشته باشد. |
| اندازه | طول بدنهٔ پاسخ در بازهٔ مشخص باشد. |
| محتوای بدنه | بدنهٔ پاسخ شامل رشته باشد یا با رشته یا عبارت منظم مطابقت داشته باشد. |

## شرط‌های توقف {#stop-conditions}

شرط توقف هنگامی که تطبیق‌دهنده برقرار شود، اجرا را متوقف می‌کند.

* **شرط توقف** را با وضعیت یا اندازهٔ پاسخ، عملگر مقایسه و یک مقدار تنظیم کنید.
* نتیجهٔ مطابق، اجرا را موقتاً متوقف می‌کند؛ درخواست‌هایی که در حال ارسال هستند ممکن است همچنان تکمیل شوند.

این قابلیت وقتی مفید است که فقط اولین نتیجهٔ موفق لازم باشد، مانند اطلاعات احراز هویت معتبر یا عبور از یک بررسی.

## استخراج‌کننده‌ها {#extractors}

استخراج‌کننده‌ها مقداری را از هر پاسخ بیرون می‌کشند و در یک ستون نام‌دار ذخیره می‌کنند.

* برای ثبت توکن‌های CSRF، شناسه‌های نشست یا مقادیر یک‌بارمصرف جهت درخواست‌های زنجیره‌ای، از استخراج‌کننده‌ها استفاده کنید.
* هدف استخراج را با **هوش مصنوعی** توصیف کنید، یا استخراج با عبارت منظم بدنه، جست‌وجوی متن بدنه یا سرآیند پاسخ را دستی تنظیم کنید.
* مقادیر استخراج‌شده به‌صورت ستون در جدول نتایج ظاهر می‌شوند.
* در حالت ترتیبی، استخراج‌کنندهٔ زنجیره‌سازی را صریحاً تنظیم کنید؛ نتیجه‌ای که به نشست دیگر ارسال شده باشد خودکار استخراج توکن برای آن نشست را برقرار نمی‌کند.

## جدول نتایج {#results-table}

هر درخواست تکمیل‌شده یک ردیف تولید می‌کند.

| ستون | توضیح |
|--------|-------------|
| # | شمارهٔ ترتیب درخواست. |
| وضعیت | کد پاسخ HTTP. |
| اندازه | طول بدنهٔ پاسخ بر حسب بایت. |
| زمان | زمان رفت‌وبرگشت بر حسب میلی‌ثانیه. |
| محموله | مقدار یا مقادیر محمولهٔ استفاده‌شده برای این درخواست. |
| ستون‌های تطبیق‌دهنده | یک ستون بولی برای هر تطبیق‌دهندهٔ تنظیم‌شده. |
| ستون‌های استخراج‌کننده | یک ستون مقدار استخراج‌شده برای هر استخراج‌کنندهٔ تنظیم‌شده. |

روی هر ردیف کلیک کنید تا درخواست و پاسخ کامل در پنل بررسی باز شوند.

## پالایش نتایج {#filtering-results}

برای محدود کردن ردیف‌های نمایش‌داده‌شده، یک عبارت HTTPQL در نوار **فیلتر** بالای جدول نتایج وارد کنید. نمونه:

```text
result.status.eq:200 AND result.len.gt:500
```

پرس‌وجوهای خودکارسازی از فضای نام `result.*` استفاده می‌کنند. برای ستون استخراج‌شده، از فیلد `result.extract.<name>` آن استفاده کنید. فیلدهای `req.*` و `resp.*` تاریخچهٔ HTTP جایگزین فیلترهای نتایج خودکارسازی نیستند.

## کمک هوش مصنوعی {#ai-assist}

دکمهٔ **هوش مصنوعی** کنار فیلدهای تنظیم تطبیق‌دهنده و استخراج‌کننده ظاهر می‌شود. آنچه می‌خواهید تشخیص دهید یا استخراج کنید را به زبان معمول توصیف کنید. Ogma تنظیمات را تولید می‌کند. پیش از ذخیره، نتیجه را بررسی کنید.

## ارسال نتیجه به جای دیگر {#send-a-result-elsewhere}

برای این اقدامات روی هر ردیف نتیجه راست‌کلیک کنید:

* **ارسال به بازپخش** - درخواست و پاسخ مشخص را برای پیگیری دستی در بازپخش باز کنید.
* **ارسال به خودکارسازی (نشست جدید)** - درخواست ردیف نتیجه را به‌عنوان الگوی نشست جدید استفاده کنید.
* **کپی به‌صورت curl** - درخواست را به‌صورت فرمان curl کپی کنید.

## صفحات مرتبط {#related-pages}

* [بازپخش](./replay.md)
* [محیط](./environment.md)
* [خروجی‌ها](./exports.md)
