انواع اسکن#
در منوی اسکن bgscan شش گزینه میبینید. هر گزینه با یک کلید اجرا میشود:
| کلید | نوع اسکن | توضیحات | کاربرد اصلی | فایل پیکربندی |
|---|---|---|---|---|
i | اسکن ICMP | فرستادن درخواست اکو و اندازهگیری زمان رفتوبرگشت | پیدا کردن IPهای فعال | icmp_settings.toml |
t | اسکن TCP | اتصال به یک پورت و اندازهگیری زمان Handshake | بررسی اتصال TCP | tcp_settings.toml |
h | اسکن HTTP | فرستادن یک درخواست HTTP و ثبت وضعیت، نسخه و TLS | بررسی سرویس وب | http_settings.toml |
x | اسکن Xray | عبور دادن ترافیک از Outbound و اندازهگیری آن | بررسی اتصال و سرعت Xray | xray_settings.toml |
r | ریزالور DNS | امتحانکردن هر هدف بهعنوان Resolver و بررسی هجکینگ DPI | پیدا کردن Resolverهای سالم | dns_settings.toml |
d | تونل DNS | بررسی اینکه Resolverها میتوانند تونل DNS را عبور دهند یا نه | تست تونلهای DNSTT، VayDNS و Slipstream | dns_settings.toml |
ریزالور DNS یک اسکن Resolver مستقل اجرا میکند. هر IP هدف بهعنوان Resolver تست میشود و در صورت فعالبودن، بررسی ضد هجکینگ (Anti-hijacking) هم انجام میشود.
تونل DNS اول مرورگر Configها را باز میکند. قبل از شروع اسکن، یکی از تونلهای ذخیرهشده (DNSTT، VayDNS یا Slipstream) را انتخاب میکنید. اگر check_dns_resolver در تنظیمات DNS Tunneling فعال باشد، مرحلهٔ تونل یک اسکن Resolver بهعنوان پیشاسکن زنجیر میکند.
اسکن Xray اول میپرسد از کدام Outbound Template استفاده شود. اگر pre_scan_type روی icmp، tcp یا http باشد، آن مرحله قبل از Xray اجرا میشود و هدفها را فیلتر میکند. با none اسکن Xray مستقیم اجرا میشود.

جزئیات اسکنها#
اسکن ICMP#
- پروتکل: ICMP Echo Request/Reply (همان پینگ خودمان)
- کارکرد: درخواستهای اکو را به آیپیهای هدف میفرستد و زمان رفت و برگشت پاسخها (RTT) را اندازهگیری میکند. همهٔ Workerها یک Socket مشترک IPv4 و در صورت پشتیبانی سیستم، یک Socket مشترک IPv6 دارند و پاسخها به Worker فرستنده برمیگردند.
- خروجی: زمان پاسخدهی، تعداد تلاش و حالت Socket (raw یا UDP بدون نیاز به دسترسی ویژه).
- تنظیمات کلیدی: مهلت زمانی (Timeout)، تعداد تلاش مجدد (Retries)، تعداد کانکارنسی ورکرها (Worker concurrency).
- بهترین کاربرد: ارزانترین راه برای کوچککردن یک محدودهٔ بزرگ قبل از اسکنهای سنگینتر.
اسکن TCP#
- پروتکل: Connect Scan کامل، نه SYN Scan
- کارکرد: Handshake را تا آخر روی پورت تنظیمشده کامل میکند و زمان اولین تلاش موفق را ثبت میکند. فقط Timeoutها تا سقف
triesدوباره تلاش میشوند؛ Connection refused بلافاصله هدف را ناموفق میکند تا محدودههای مرده سریع تمام شوند. - خروجی: زمان برقراری اتصال، پورت و تعداد تلاش.
- تنظیمات کلیدی: پورت هدف، مهلت زمانی، تعداد تلاش مجدد، تعداد کانکارنسی ورکرها.
- بهترین کاربرد: کشف سرویسها، اسکن پورتها و تست فایروال.
اسکن HTTP#
- پروتکل: HTTP/1.1، HTTP/2 یا HTTP/3 (انتخاب نسخه برای
h1,h2از طریق ALPN انجام میشود؛h3پروب QUIC جداگانه دارد) - کارکرد: برای هر هدف یک درخواست میفرستد و پاسخ را ارزیابی میکند. پاسخهای خارج از
accepted_status_codesدور ریخته میشوند و فهرست خالی همه را قبول میکند. - خروجی: زمان پاسخدهی، استاتوس کد، نسخهٔ توافقشدهٔ پروتکل و استفادهشدن یا نشدن TLS.
- تنظیمات کلیدی: هاست/پورت هدف، پروتکل (HTTP/HTTPS)، اعتبارسنجی TLS، نسخهٔ HTTP، استاتوس کدهای مجاز، Fingerprint.
- بهترین کاربرد: تست وبسرویسها، کشف اندپوینتهای API و بررسی لود بالانسرها.
اسکن Xray#
- پروتکل: پروتکل اختصاصی Xray برای تست اتصال و پهنای باند
- کارکرد: برای هر هدف یک پروسهٔ موقت Xray با Outbound Template انتخابی اجرا میکند و زمان اتصال را از طریق Proxy محلی اندازهگیری میکند. بسته به
connectivity_test_type، تست دانلود، آپلود یا هر دو هم اجرا میشود و هدفی که سرعتش از حداقل تعیینشده کمتر باشد ناموفق حساب میشود. - خروجی: زمان اتصال بههمراه سرعت دانلود و آپلود. اگر فقط اتصال تست شود، هر دو سرعت صفر ثبت میشوند.
- تنظیمات کلیدی: مهلت زمانی، تعداد ورکرها، نوع تست (فقط اتصال/دانلود/آپلود/هر دو)، حداقل سرعت مجاز.
- بهترین کاربرد: تست کیفیت خروجی شبکه، اندازهگیری سرعت و پهنای باند، شناسایی پروکسیها و گلوگاههای شبکه.
ریزالور DNS#
- پروتکل: پرسوجوهای DNS (از طریق UDP، TCP یا DNS-over-TLS)
- کارکرد: هر IP هدف بهعنوان Resolver استفاده میشود. اگر
check_dpiفعال باشد، اول یک نام تصادفی.invalidپرسیده میشود؛ Resolverی که برای نامی که نمیتواند وجود داشته باشد موفقیت اعلام کند، دارد پاسخ ساخت و کنار گذاشته میشود. هدفهای باقیمانده با Record typeهای تنظیمشده پرسیده میشوند تا یکی از آنها کد پاسخ قابل قبول برگرداند. - خروجی: زمان پاسخدهی، نوع Record جوابداده، تعداد تلاش، کد پاسخ و اجراشدن یا نشدن بررسی DPI.
- تنظیمات کلیدی: ورکرهای ریزالور، پروتکل، دامین، انواع کوئری، مهلت زمانی، تلاش مجدد، کدهای پاسخ مجاز، بررسیهای ضد هجکینگ (Anti-hijacking).
- بهترین کاربرد: پیدا کردن دیاناس سرورهای باز و پاسخگو و فیلترکردن Resolverهای هجکشده.
تونل DNS#
- پروتکل: تونل DNS با سه پروتکل DNSTT، VayDNS و Slipstream
- کارکرد: اول یکی از تونلهای ذخیرهشده را از مرورگر Config انتخاب میکنید و بعد بررسی میشود کدام Resolver میتواند آن تونل را عبور دهد. DNSTT و VayDNS تونل را با کتابخانهٔ vaydns داخل خود برنامه اجرا میکنند؛ Slipstream به باینری خارجی
slipstream-clientوابسته است. - خروجی: زمان پاسخدهی تونل بعد از برقرارشدن؛ زمان راهاندازی تونل حساب نمیشود.
- تنظیمات کلیدی:
check_dns_resolverبرای اجرای پیشاسکن Resolver وadaptive_resolverبرای تطبیق خودکار تنظیمات Resolver (روش انتقال، پورت و دامین) با Config تونل. - بهترین کاربرد: پیدا کردن Resolverهایی که عبور تونل DNS از آنها ممکن است.
هر پروب تونل برای هر هدف یک پورت محلی SOCKS5 میگیرد، پس بسیار کندتر از مرحلهٔ ریزالور است. برای تنظیمات هر پروتکل، تونل DNS را ببینید.