🔍 Iranian DNS Resolver Scan for DNS Tunnel — Step-by-Step Guide
Samanبرای اینکه تانل DNS (مثل DNSTT یا Slipstream) کار کنه، به DNS resolver نیاز دارید که واقعاً ترافیک تانل رو از خودش رد کنه. همه ریزالورها این کار رو نمیکنن — باید تست بشن.
ما با کمک Ariel عزیز از همراهان کانال، رنج کامل IP های ایرانی رو اسکن کردیم و تعدادی ریزالور DNS پیدا کردیم. حالا شما باید این ریزالورها رو با findns تست کنید تا ببینید کدومها واقعاً برای تانل DNS مناسبن چون هر شخصی نتش با بقیه فرق داره تو شرایط امروز ایران اخوندی.
━━━━━━━━━━━━━━━━━━━━━━━━
📥 مرحله ۱ — دانلود فایلها
دو چیز لازم دارید:
الف) فایلهای ایرانی (آمادهست، دانلود کنید):
دو فایل داریم:
• ir-resolvers.txt — ۵۸۸ ریزالور که قبلاً پیدا شدن (اسکن سریعتر)
• ir-cidrs.txt — ۱۷۰ رنج CIDR ایرانی (اسکن کامل از صفر — میلیونها IP)
لینک فایلها در پست کانال موجوده در این پست:
https://t.me/SamnetInternet/96
ب) ابزار findns:
🔗 https://github.com/SamNet-dev/findns/releases
از صفحه Releases دانلود کنید:
🪟 ویندوز: findns-windows-amd64.exe
🐧 لینوکس: findns-linux-amd64
یا از کانال دانلود کنید:
https://t.me/SamnetInternet/92
━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ مرحله ۲ — نصب findns
🪟 ویندوز:
۱. فایل findns-windows-amd64.exe رو دانلود کنید
۲. بزارید تو یه فولدر (مثلاً C:\findns\)
۳. فایلهای ریزالور (ir-resolvers.txt و/یا ir-cidrs.txt) رو هم بزارید تو همون فولدر
۴. Command Prompt یا PowerShell باز کنید و برید به اون فولدر:
cd C:\findns
🐧 لینوکس:
۱. دانلود و نصب:
chmod +x findns-linux-amd64
sudo mv findns-linux-amd64 /usr/local/bin/findns
۲. فایل ریزالورها رو بزارید تو یه فولدر کاری
━━━━━━━━━━━━━━━━━━━━━━━━
🔬 مرحله ۳ — اسکن ریزالورها
حالا findns رو اجرا کنید. دو حالت دارید:
روش اول: اسکن ریزالورهای آماده (سریع — چند دقیقه):
از فایل ir-resolvers.txt استفاده کنید (۵۸۸ ریزالور که قبلاً پیدا شدن)
روش دوم: اسکن کامل رنجهای ایرانی (کاملتر — زمانبر):
از فایل ir-cidrs.txt استفاده کنید (۱۷۰ رنج CIDR — میلیونها IP)
خود findns رنجها رو باز میکنه و همه رو اسکن میکنه تا ریزالورهای جدید هم پیدا بشن.
در دستورات زیر، به جای INPUTFILE.txt اسم فایلی که میخواید رو بزارید (ir-resolvers.txt یا ir-cidrs.txt)
📌 روش ساده (بدون سرور — فقط تست اولیه):
اگه سرور تانل ندارید یا فقط میخواید ببینید کدوم ریزالورها زندهان و هایجک نمیکنن:
ویندوز:
findns-windows-amd64.exe scan -i INPUTFILE.txt -o results.json
لینوکس:
findns scan -i INPUTFILE.txt -o results.json
این تستها رو انجام میده:
• آیا ریزالور زندهست؟ (ping)
• آیا واقعاً DNS resolve میکنه؟
• آیا جواب جعلی برمیگردونه؟ (تشخیص هایجک)
📌 روش کامل (با دامنه تانل — پیشنهادی):
اگه دامنه تانل دارید (مثلاً t2.yourdomain.com)، این دستور تستهای بیشتری انجام میده:
ویندوز:
findns-windows-amd64.exe scan -i INPUTFILE.txt -o results.json --domain t2.yourdomain.com
لینوکس:
findns scan -i INPUTFILE.txt -o results.json --domain t2.yourdomain.com
تستهای اضافی:
• آیا payload بزرگ DNS رو ساپورت میکنه؟ (EDNS — مهم برای سرعت تانل)
• آیا دامنه تانل شما رو میبینه و resolve میکنه؟
📌 روش حرفهای (تست واقعی تانل — e2e):
اگه کلید عمومی سرور DNSTT رو هم دارید، findns واقعاً تانل رو باز میکنه و تست میکنه:
ویندوز:
findns-windows-amd64.exe scan -i INPUTFILE.txt -o results.json --domain t2.yourdomain.com --pubkey YOUR_KEY
لینوکس:
findns scan -i INPUTFILE.txt -o results.json --domain t2.yourdomain.com --pubkey YOUR_KEY
⚠️ برای تست e2e باید dnstt-client هم نصب باشه.
📌 تست DoH (اختیاری — برای شبکههای خیلی محدود):
اگه UDP روی پورت ۵۳ بلاک شده، میتونید DoH (پورت ۴۴۳) رو تست کنید. DoH ترافیک DNS رو داخل HTTPS قایم میکنه و تشخیصش خیلی سختتره.
⚠️ برای DoH به فایل ورودی جداگانه با آدرسهای DoH نیاز دارید (نه IP). اول لیست رو بگیرید:
findns fetch -o doh-resolvers.txt --doh
بعد اسکن کنید:
findns scan -i doh-resolvers.txt -o results-doh.json --domain t2.yourdomain.com --doh
━━━━━━━━━━━━━━━━━━━━━━━━
📊 مرحله ۴ — نتایج
بعد از اسکن:
• خروجی تو فایل results.json ذخیره میشه
• ۱۰ تا ریزالور برتر رو تو ترمینال نشون میده
• هر ریزالور امتیاز میگیره بر اساس تستهایی که پاس کرده
• ریزالورهایی که امتیاز بالاتر دارن رو تو کلاینت تانلتون استفاده کنید (SlipNet، HTTP Injector و غیره)
━━━━━━━━━━━━━━━━━━━━━━━━
💡 نکات:
• findns با ۵۰ ورکر همزمان کار میکنه — هزاران ریزالور تو چند دقیقه تست میشه
• خود findns هم لیست آماده ۷,۸۰۰+ ریزالور ایرانی داره که با این دستور میتونید بگیرید:
findns fetch -o resolvers.txt --local
با تشکر از Ariel برای اسکن اولیه رنجهای ایرانی 🙏
🔗 findns: https://github.com/SamNet-dev/findns
📖 راهنمای کامل فارسی داخل ریپو هست GUIDE.md