Docs GitHub
-- --
Theme:
Language:
EN فا

تنظیمات HTTP (HTTP Settings)#

💡 نکته: شما می‌توانید این تنظیمات را به جای ویرایش دستی فایل TOML، مستقیماً درون خود برنامه bgscan تغییر دهید.

برای پیکربندی تعاملی این گزینه‌ها با استفاده از بخش مدیریت تنظیمات (TUI inspector)، از منوی اصلی به مسیر SettingsHTTP Settings بروید.

فایل پیکربندی: settings/http_settings.toml

این فایل تنظیمات دقیق پروب (بررسی) HTTP/HTTPS/HTTP3 از جمله هاست مقصد، پورت، پروتکل، تنظیمات TLS، نسخه HTTP، مهلت زمانی (Timeout) و استاتوس کدهای مجاز را کنترل می‌کند.

ورکرها (Workers)#

workers = 50

تعداد ورکرهای هم‌زمان که درخواست‌های HTTP را ارسال می‌کنند. مقادیر بالاتر سرعت اسکن را افزایش می‌دهند، اما مصرف پردازنده (CPU) و پهنای باند شبکه را بالا می‌برند.

مقادیر توصیه‌شده:

  • 10-50 برای سیستم‌هایی با منابع محدود
  • 50-100 برای مصارف معمول و عادی
  • 100-200 برای اسکن با کارایی و سرعت بالا

هاست (Host)#

host = "example.com"

هاست مقصد یا مسیر URL هدف که برای درخواست HTTP استفاده می‌شود. این مقدار می‌تواند یک هاست ساده (مثل example.com) باشد یا شامل یک مسیر مشخص (مثل example.com/path) شود. اگر مسیر (Path) مشخص شده باشد، در درخواست URL نهایی گنجانده خواهد شد. هدر Host همیشه فقط شامل بخش دامنه خواهد بود.


پورت (Port)#

port = 443

پورت هدف برای برقراری اتصال HTTP/HTTPS. مقادیر رایج پورت ۸۰ برای HTTP و پورت ۴۴۳ برای HTTPS است.

مقادیر توصیه‌شده:

  • 80 برای HTTP
  • 443 برای HTTPS
  • پورت‌های دیگر برای سرویس‌های غیر استاندارد

پروتکل (Protocol)#

protocol = "https"

پروتکل لایه اپلیکیشن که برای اسکن استفاده می‌شود. مقادیر پشتیبانی‌شده "http" یا "https" هستند.


اعتبارسنجی TLS (TLS Validation)#

tls_validation = true

در هنگام استفاده از پروتکل HTTPS، اعتبارسنجی سخت‌گیرانه گواهی SSL/TLS را فعال می‌کند. اگر روی true باشد، گواهی‌ها حتماً باید معتبر بوده و توسط سیستم تایید شده (Trusted) باشند. اگر روی false تنظیم شود، گواهی‌های نامعتبر، منقضی‌شده یا خودامضا (Self-signed) نیز پذیرفته می‌شوند.

توصیه:

  • true برای اسکن‌های محیط عملیاتی (Production)
  • false برای اهداف تست یا سرویس‌های داخلی با گواهی‌های خودامضا

نسخه HTTP (HTTP Version)#

version = "h1,h2"

نسخه پروتکل HTTP مورد استفاده در اسکن. مقادیر پشتیبانی‌شده:

  • "h1" - فقط HTTP/1.1
  • "h2" - فقط HTTP/2
  • "h1,h2" - استفاده از هر دو نسخه HTTP/1.1 و HTTP/2 بر اساس مذاکره از طریق ALPN (پیش‌فرض)
  • "h3" - فقط HTTP/3 (مبتنی بر QUIC + TLS 1.3، در این حالت تنظیمات سقف/کف نسخه TLS نادیده گرفته می‌شوند)

مهلت زمانی (Timeout)#

timeout = 4000

حداکثر زمان انتظار (به میلی‌ثانیه) برای دریافت پاسخ HTTP. درخواست‌هایی که در این بازه زمانی کامل نشوند، ناموفق (Failed) در نظر گرفته می‌شوند.

مقادیر توصیه‌شده:

  • 2000-5000 برای شبکه‌های پایدار و مطمئن
  • 5000-10000 برای شبکه‌های ناپایدار یا دور

پیشوند خروجی (Prefix Output)#

prefix_output = "http_"

پیشوند اعمال‌شده روی نام تمامی فایل‌های خروجی که توسط این ماژول تولید می‌شوند. این ویژگی برای جداسازی و تشخیص نتایج هنگامی که چندین اسکن را به صورت هم‌زمان اجرا می‌کنید، بسیار مفید است.


سقف و کف نسخه TLS (TLS Floor/Ceiling)#

min_tls_version = "tls1.1"
max_tls_version = "tls1.3"

حداقل و حداکثر نسخه مجاز TLS برای اتصالات HTTPS. تلاش برای برقراری اتصال با نسخه‌ای پایین‌تر از min_tls_version رد خواهد شد. همچنین اتصالاتی که بخواهند با نسخه‌ای بالاتر از max_tls_version مذاکره کنند، به همان سقف تعیین‌شده محدود می‌شوند.

مقادیر پشتیبانی‌شده: tls1.0، tls1.1، tls1.2، tls1.3

نکته: این تنظیمات در صورت انتخاب version = "h3" (پروتکل HTTP/3) نادیده گرفته می‌شوند؛ چرا که HTTP/3 الزاماً به نسخه TLS 1.3 نیاز دارد.


فیلد SNI (Server Name Indication)#

server_name = ""

امکان تغییر اختیاری مقدار TLS Server Name Indication (SNI). در صورت مقداردهی، این عبارت به عنوان نام سرور TLS در طول فرآیند دست‌تکانی (Handshake) استفاده می‌شود. در صورت خالی بودن، دامنه‌ای که از فیلد host استخراج شده به صورت خودکار به کار می‌رود.


استاتوس کدهای مجاز (Accepted Status Codes)#

accepted_status_codes = []

لیستی از استاتوس کدهای HTTP که اسکنر آن‌ها را به عنوان نتیجه «موفق» در نظر می‌گیرد. پاسخ‌هایی که کد وضعیت آن‌ها در این لیست باشد معتبر شناخته می‌شوند و هر کدی خارج از این لیست، نتیجه ناموفق تلقی خواهد شد.

نکته: به طور پیش‌فرض، تمام استاتوس کدهای رسمی HTTP پذیرفته می‌شوند (خالی بودن لیست به معنای عدم اعمال فیلتر است).

مثال:

accepted_status_codes = [200, 204, 301, 302, 307, 308]

با این تنظیم، فقط کدهای 200، 204، 301، 302، 307 و 308 به عنوان نتیجه موفق ثبت می‌شوند.


فایل‌های مرتبط#