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

انواع اسکن#

در منوی اسکن bgscan شش گزینه می‌بینید. هر گزینه با یک کلید اجرا می‌شود:

کلیدنوع اسکنتوضیحاتکاربرد اصلیفایل پیکربندی
iاسکن ICMPفرستادن درخواست اکو و اندازه‌گیری زمان رفت‌وبرگشتپیدا کردن IPهای فعالicmp_settings.toml
tاسکن TCPاتصال به یک پورت و اندازه‌گیری زمان Handshakeبررسی اتصال TCPtcp_settings.toml
hاسکن HTTPفرستادن یک درخواست HTTP و ثبت وضعیت، نسخه و TLSبررسی سرویس وبhttp_settings.toml
xاسکن Xrayعبور دادن ترافیک از Outbound و اندازه‌گیری آنبررسی اتصال و سرعت Xrayxray_settings.toml
rریزالور DNSامتحان‌کردن هر هدف به‌عنوان Resolver و بررسی هجکینگ DPIپیدا کردن Resolverهای سالمdns_settings.toml
dتونل DNSبررسی این‌که Resolverها می‌توانند تونل DNS را عبور دهند یا نهتست تونل‌های DNSTT، VayDNS، Slipstream، MasterDNS، StormDNS و TheFeeddns_settings.toml

ریزالور DNS یک اسکن Resolver مستقل اجرا می‌کند. هر IP هدف به‌عنوان Resolver تست می‌شود و در صورت فعال‌بودن، بررسی ضد هجکینگ (Anti-hijacking) هم انجام می‌شود.

تونل DNS اول مرورگر Configها را باز می‌کند. قبل از شروع اسکن، یکی از تونل‌های ذخیره‌شده (DNSTT، VayDNS، Slipstream، MasterDNS، StormDNS یا TheFeed) را انتخاب می‌کنید. اگر check_dns_resolver در تنظیمات DNS Tunneling فعال باشد، مرحلهٔ تونل یک اسکن Resolver به‌عنوان پیش‌اسکن زنجیر می‌کند.

اسکن Xray اول می‌پرسد از کدام Outbound Template استفاده شود. اگر pre_scan_type روی icmp، tcp یا http باشد، آن مرحله قبل از Xray اجرا می‌شود و هدف‌ها را فیلتر می‌کند. با none اسکن Xray مستقیم اجرا می‌شود.

bgscan scan type

جزئیات اسکن‌ها#

اسکن 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، MasterDNS، StormDNS و TheFeed
  • کارکرد: اول یکی از تونل‌های ذخیره‌شده را از مرورگر Config انتخاب می‌کنید و بعد بررسی می‌شود کدام Resolver می‌تواند آن تونل را عبور دهد. DNSTT و VayDNS تونل را با کتابخانهٔ vaydns داخل خود برنامه اجرا می‌کنند؛ Slipstream به باینری خارجی slipstream-client وابسته است و MasterDNS، StormDNS و TheFeed هم با کتابخانهٔ داخلی خودشان داخل برنامه اجرا می‌شوند.
  • خروجی: زمان پاسخ‌دهی تونل بعد از برقرارشدن؛ زمان راه‌اندازی تونل حساب نمی‌شود.
  • تنظیمات کلیدی: check_dns_resolver برای اجرای پیش‌اسکن Resolver و adaptive_resolver برای تطبیق خودکار تنظیمات Resolver (روش انتقال، پورت و دامین) با Config تونل.
  • بهترین کاربرد: پیدا کردن Resolverهایی که عبور تونل DNS از آن‌ها ممکن است.

پروب‌های DNSTT، VayDNS و Slipstream برای هر هدف یک پورت محلی SOCKS5 می‌گیرند، پس بسیار کندتر از مرحلهٔ ریزالور هستند. برای تنظیمات هر پروتکل، تونل DNS را ببینید.

موضوعات مرتبط#