تنظیمات عمومی (General Settings)#
💡 نکته: شما میتوانید این تنظیمات را به جای ویرایش دستی فایل TOML، مستقیماً درون خود برنامه bgscan تغییر دهید.
برای پیکربندی تعاملی این گزینهها با استفاده از بخش مدیریت تنظیمات (TUI inspector)، از منوی اصلی به مسیر Settings ← General Settings بروید.
فایل پیکربندی: settings/general_settings.toml
این فایل رفتار هسته اصلی اسکنر bgscan، از جمله محدودیتهای اسکن، حالتهای اجرا و بهینهسازی عملکرد سیستم را کنترل میکند.
مرجع سریع (Quick Reference)#
| تنظیمات | مقدار پیشفرض | توضیحات |
|---|---|---|
status_interval | 1000 | نرخ بهروزرسانی رابط کاربری (UI) به میلیثانیه |
stop_after_found | 0 | متوقف کردن اسکن پس از پیدا کردن N هدف موفق |
max_ips_to_test | 0 | حداکثر تعداد آیپیها برای اسکن کردن |
shuffled | true | تصادفیسازی ترتیب آیپیهای هدف |
pipeline_mode | "streaming" | حالت اجرا برای فرآیندهای چندمرحلهای اسکن |
max_ips_per_stage | 100000 | سقف حافظه (RAM) به ازای هر مرحله از فرآیند اسکن |
batch_size | 1000 | حجم هر دسته در حالت اجرای دستهای (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" باشد.
فایلهای مرتبط#
icmp_settings.toml— تنظیمات اسکن ICMPtcp_settings.toml— تنظیمات اسکن پورت TCPhttp_settings.toml— تنظیمات اسکن HTTP/HTTPSdns_settings.toml— تنظیمات اسکن DNSxray_settings.toml— اعتبارسنجی خروجیهای Xraywriter_settings.toml— تنظیمات خروجی فایل نتایج