جستوجو
جستوجو ترافیک HTTP ثبتشدهٔ پروژهٔ فعلی را پرسوجو میکند؛ از جمله رکوردهایی که فراتر از ردیفهای بارگذاریشدهٔ فعلی تاریخچهٔ HTTP هستند.
بازکردن جستوجو
در پیمایش سمت چپ روی جستوجو کلیک کنید. معیارهای ساختاریافته و/یا یک عبارت HTTPQL وارد کنید، سپس روی جستوجو کلیک کنید یا Enter را فشار دهید. تایپکردن معیارها را تغییر میدهد اما جستوجوی جدیدی اجرا نمیکند. برای بررسی نتایج بیشتر از صفحهبندی استفاده کنید.
نحو HTTPQL
HTTPQL یک زبان پرسوجوی ساختاریافته برای ترافیک HTTP است. با استفاده از عملگرهای نوعدار، فیلدهای درخواست و پاسخ را تطبیق میدهد.
فیلدها
| فیلد | مورد تطبیق |
|---|---|
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 | رشتهٔ برچسب اعمالشده به درخواست. |
عملگرها
| عملگر | کاربرد برای | معنی |
|---|---|---|
eq | رشته، عدد صحیح | تطبیق دقیق. |
ne | رشته، عدد صحیح | نابرابر. |
cont | رشته | شامل زیررشته است. |
ncont | رشته | شامل زیررشته نیست. |
regex | رشته | با عبارت منظم تطبیق دارد. |
gt | عدد صحیح | بزرگتر از. |
gte | عدد صحیح | بزرگتر یا مساوی. |
lt | عدد صحیح | کوچکتر از. |
lte | عدد صحیح | کوچکتر یا مساوی. |
exists | سرآیندها | سرآیند موجود است. |
ترکیب عبارتها
برای ترکیب شرایط از AND و OR استفاده کنید. پرانتزها تقدم را کنترل میکنند. برای حذف موارد مطابق از عملگرهای منفی مانند ne یا ncont استفاده کنید.
text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500نمونهٔ پرسوجوها
درخواستهای 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"جستوجوهای ذخیرهشده
از سنجاق کردن کنار ورودی HTTPQL استفاده کنید تا پرسوجوی پرکاربردی را برای استفادهٔ مجدد سریع نگه دارید. پرسوجوی سنجاقشده را برای اعمال انتخاب کنید؛ وقتی دیگر لازم نیست، برچسب آن را حذف کنید. تاریخچهٔ پرسوجو نیز به استفادهٔ دوباره از عبارتهای اخیر کمک میکند.
زبانههای جستوجو امکان مقایسهٔ پرسوجوهای مستقل در بازدید فعلی را فراهم میکنند. آنها جستوجوهای ذخیرهشدهٔ پایدار نیستند. برای پیشتنظیمهای ساختاریافتهٔ نامدار که میتوان از آنها خروجی گرفت و واردشان کرد، از صفحهٔ فیلترها استفاده کنید.
بررسی نتایج
روی هر ردیف جدول نتایج کلیک کنید تا درخواست و پاسخ در پنل بررسی باز شوند. این پنل همان نمای تاریخچهٔ HTTP است: میتوانید بین نمایش خام و قالببندیشده جابهجا شوید، سرآیندها یا بدنه را کپی کنید و یافتهها را مستقیماً از این پنل اضافه کنید.
دستیار هوش مصنوعی
وقتی ارائهدهندهٔ هوش مصنوعی پیکربندی شده است، روی هوش مصنوعی کنار ورودی پرسوجو کلیک کنید و آنچه میخواهید پیدا کنید را به زبان طبیعی توضیح دهید. 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