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

تنظیمات عمومی (General Settings)#

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

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

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

این فایل رفتار هسته اصلی اسکنر bgscan، از جمله محدودیت‌های اسکن، حالت‌های اجرا و بهینه‌سازی عملکرد سیستم را کنترل می‌کند.

مرجع سریع (Quick Reference)#

تنظیماتمقدار پیش‌فرضتوضیحات
status_interval1000نرخ به‌روزرسانی رابط کاربری (UI) به میلی‌ثانیه
stop_after_found0متوقف کردن اسکن پس از پیدا کردن N هدف موفق
max_ips_to_test0حداکثر تعداد آی‌پی‌ها برای اسکن کردن
shuffledtrueتصادفی‌سازی ترتیب آی‌پی‌های هدف
pipeline_mode"streaming"حالت اجرا برای فرآیندهای چندمرحله‌ای اسکن
max_ips_per_stage100000سقف حافظه (RAM) به ازای هر مرحله از فرآیند اسکن
batch_size1000حجم هر دسته در حالت اجرای دسته‌ای (Batch)

مدیریت اسکن (Scan Control)#

نرخ به‌روزرسانی وضعیت (Status Interval)#

status_interval = 1000

مشخص می‌کند که رابط کاربری با چه فواصل زمانی (به میلی‌ثانیه) گزارش‌های پیشرفت اسکن را به‌روزرسانی کند. مقادیر کمتر بازخورد نرم‌تر و زنده‌تری (Real-time) ارائه می‌دهند اما مصرف پردازنده (CPU) را بالا می‌برند. مقادیر بالاتر، بار پردازشی سیستم را در اسکن‌های بسیار بزرگ کاهش می‌دهند.

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

  • 500-1000 — به‌روزرسانی روان برای اکثر اسکن‌ها
  • 2000-5000 — اسکن‌های بزرگ که در آن‌ها کارایی سیستم مهم‌تر از به‌روزرسانی زنده است

توقف پس از یافتن (Stop After Found)#

stop_after_found = 0

پس از پیدا کردن تعداد مشخصی از هدف‌های موفق، اسکن را به طور خودکار متوقف می‌کند. منظور از «هدف موفق» آی‌پی مؤثری است که تمام شرایط اسکن را پاس کرده باشد (مثلاً به پینگ پاسخ داده و پورت آن باز باشد).

نحوه رفتار:

  • 0 — غیرفعال (پیش‌فرض). تمام آی‌پی‌های موجود در لیست را اسکن می‌کند.
  • N — بلافاصله پس از پیدا کردن N نتیجه موفق، اسکن را متوقف می‌کند.

کاربردها:

  • پیدا کردن سریع چند پروکسی فعالِ اول لیست
  • محدود کردن زمان اسکن در مواقعی که فقط به تعداد مشتی نتیجه نیاز دارید
  • تست زنده بودن اهداف قبل از اقدام برای اسکن کامل لیست

حداکثر آی‌پی برای تست (Max IPs to Test)#

max_ips_to_test = 0

کل تعداد آی‌پی‌های خوانده‌شده از منبع ورودی (فایل یا ورودی دستی) را محدود می‌کند. این گزینه برای نمونه‌برداری از لیست‌های آی‌پی بزرگ یا تست بخشی از اهداف قبل از اجرای اسکن کامل بسیار مفید است.

نحوه رفتار:

  • 0 — بدون محدودیت (پیش‌فرض). تمام آی‌پی‌های موجود را می‌خواند.
  • N — حداکثر N آی‌پی را خوانده و اسکن می‌کند.

کاربردها:

  • تست کردن کانفیگ و تنظیمات روی یک نمونه کوچک (مثلاً ۱۰۰ آی‌پی اول)
  • کاهش زمان اسکن در لیست‌های آی‌پی حجیم و غول‌آسا
  • عیب‌یابی (دیباگ) بدون نیاز به معطل شدن برای هزاران هدف

تصادفی‌سازی اهداف (Shuffle Targets)#

shuffled = true

ترتیب آی‌پی‌های هدف را قبل از شروع اسکن کاملاً تصادفی (بُر) می‌کند. این کار به موارد زیر کمک می‌کند:

  • جلوگیری از ایجاد ترافیک سنگین و اشباع کردن ساب‌نت‌های خاص
  • کاهش احتمال فعال شدن سیستم‌های محدودکننده فایروال (Rate-limits) یا هشدارهای IDS (سیستم تشخیص نفوذ)
  • دریافت یک نمونه آماری دقیق‌تر و عادلانه‌تر هنگام استفاده از گزینه max_ips_to_test

توصیه: این گزینه را برای اکثر اسکن‌ها فعال (true) نگه دارید. تنها در صورتی آن را غیرفعال کنید که به ترتیبِ اسکنِ ثابت، مشخص و تکرارپذیر نیاز دارید.


حالت اجرای فرآیند چندمرحله‌ای اسکن#

ابزار bgscan از اسکن چندمرحله‌ای (مثلاً فرآیند ICMP ← TCP ← HTTP) پشتیبانی می‌کند. حالت فرآیند (Pipeline Mode) نحوه عبور اهداف از این مراحل را کنترل می‌کند.

حالت فرآیند (Pipeline Mode)#

pipeline_mode = "streaming"

حالت‌های در دسترس:

حالتتوضیحاتمیزان مصرف RAMسرعتبهترین کاربرد برای
"streaming"تمام مراحل به طور هم‌زمان اجرا می‌شوند و آی‌پی‌ها از طریق کانال‌ها جریان می‌یابندبالاسریع‌تریندیتابیس‌های بزرگ، حداکثر نرخ پردازش
"sequential"هر مرحله منتظر پایان مرحله قبلی می‌ماند؛ از دیسک استفاده می‌کندکمکندترینسیستم‌های دارای محدودیت حافظه رم
"batch"آی‌پی‌ها به صورت دسته‌ای در تمام مراحل پردازش می‌شوندمتوسطمتعادلمصرف حافظه قابل پیش‌بینی

مقدار پیش‌فرض: "streaming" — برای اکثر کاربران که رم کافی دارند توصیه می‌شود.


حداکثر آی‌پی به ازای هر مرحله (Max IPs Per Stage)#

max_ips_per_stage = 100000

یک سقف حافظه سخت‌گیرانه تعیین می‌کند که هر مرحله از فرآیند اسکن حداکثر چه تعداد آی‌پی را می‌تواند هم‌زمان در خود نگه دارد. هنگامی که این لیمیت پر شود، مرحله قبلی موقتاً متوقف (Pause) می‌شود تا فضای خالی ایجاد گردد.

هدف: جلوگیری از کرش کردن برنامه به دلیل پر شدن حافظه (Out-of-memory) در اسکن‌های بسیار بزرگ.

تنظیم دقیق:

  • در سیستم‌هایی با رم کمتر از ۴ گیگابایت، این مقدار را به 50000 یا کمتر کاهش دهید.
  • در سیستم‌هایی با رم فراوان و لیست‌های آی‌پی بسیار بزرگ، می‌توانید این مقدار را افزایش دهید.

حجم هر دسته (Batch Size)#

batch_size = 1000

تعداد آی‌پی‌هایی را مشخص می‌کند که در صورت استفاده از حالت فرآیند "batch" (دسته‌ای)، باید در کنار هم پردازش شوند. هر دسته قبل از شروع دسته بعدی، تمام مراحل اسکن را به طور کامل طی می‌کند.

تنظیم دقیق:

  • دسته‌های کوچک‌تر (500-1000) — مصرف حافظه کمتر، اما خواندن/نوشتن (I/O) مکرر روی دیسک.
  • دسته‌های بزرگ‌تر (5000-10000) — نرخ پردازش بهتر، اما مصرف حافظه بالاتر.

نکته: این تنظیم تنها زمانی اعمال می‌شود که pipeline_mode = "batch" باشد.


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