بازگشت به وبلاگ

چرا مرورگر ضد شناسایی با پروکسی SOCKS5 کار نمی‌کند: ۷ محدودیت و راه‌حل‌ها

آیا SOCKS5 پروکسی خریده‌اید و مرورگر یا پارسر به آن متصل نمی‌شود یا با خطا کار می‌کند؟ به بررسی ۷ محدودیت فنی SOCKS5 می‌پردازیم که معمولاً پس از وقوع مشکل متوجه آن می‌شوند.

📅۲۰ شهریور ۱۴۰۵

یک مجموعه SOCKS5 پروکسی خریداری کردید، داده‌ها را در Dolphin Anty یا AdsPower وارد کردید — اما پروفایل باز نمی‌شود، پارسر زمان‌های تایم‌اوت را نشان می‌دهد و برنامه موبایل اصلاً اتصال را نمی‌بیند. این نه نقص پروکسی است و نه خطای تنظیمات. این ویژگی‌های خود پروتکل SOCKS5 است که فروشندگان پروکسی تقریباً هرگز قبل از پرداخت توضیح نمی‌دهند. همه 7 محدودیت را به ترتیب بررسی می‌کنیم — و با هر یک چه کار باید کرد.

SOCKS5 چیست و چرا بیشتر از HTTP انتخاب می‌شود

SOCKS5 یک پروتکل پروکسی سطح پایین است که به سادگی بسته‌های ترافیک را بین مشتری و سرور منتقل می‌کند، بدون اینکه به محتوای آن‌ها توجه کند. بر خلاف پروکسی‌های HTTP/HTTPS، این پروتکل به یک پروتکل خاص برنامه وابسته نیست: می‌توان از آن برای انتقال ترافیک مرورگری، تورنت‌ها، کلاینت‌های ایمیل، اتصالات بازی و ترافیک برنامه‌های دسکتاپ استفاده کرد. به همین دلیل است که SOCKS5 به طور گسترده‌ای برای کارهای چند حسابی، پارسینگ و کار در ربات‌های تلگرام فروخته می‌شود. مشکل این است که «یونیورسال بودن» SOCKS5 در عین حال بزرگ‌ترین ضعف آن است. این پروتکل در سطح اتصال حمل و نقل (TCP/UDP) کار می‌کند، نه در سطح برنامه. این پروتکل نمی‌فهمد که درون بسته چه چیزی است — درخواست HTTP، حل DNS یا دست دادن WebRTC. به همین دلیل نرم‌افزاری که انتظار رفتار خاصی از پروکسی دارد (مانند مرورگرهای ضد شناسایی یا SDKهای برنامه‌های موبایل)، شروع به رفتار ناپایدار می‌کند: در برخی موارد ترافیک از پروکسی دور می‌شود، در برخی موارد اتصال قطع می‌شود و در برخی موارد برنامه اصلاً پروکسی سرور را نمی‌بیند.

در زیر — نه نظریه برای نظریه، بلکه موقعیت‌های خاصی که با آن‌ها معامله‌گران، متخصصان SMM و فروشندگان بازارها پس از پرداخت هزینه مجموعه SOCKS5 مواجه می‌شوند.

محدودیت 1: SOCKS5 هدرهای HTTP را منتقل نمی‌کند

پروکسی HTTP می‌تواند هدرهای درخواست را تغییر دهد — X-Forwarded-For را جایگزین یا پنهان کند، User-Agent را در سطح شبکه تغییر دهد. SOCKS5 این کار را به طور کلی انجام نمی‌دهد — فقط بایت‌ها را منتقل می‌کند. برای مرورگرهای ضد شناسایی (Dolphin Anty، AdsPower، Multilogin، GoLogin) این موضوع بحرانی نیست، زیرا آن‌ها خودشان تغییر User-Agent و سایر اثرات را در سطح موتور مرورگر انجام می‌دهند. اما اگر از یک اسکریپت پارسر ساده یا سفارشی استفاده می‌کنید که انتظار دارد پروکسی خود هدرها را پاک کند — شما یک نشت واقعی از اثر شبکه خواهید داشت.

در عمل این موضوع به این صورت بروز می‌کند: وب‌سایت عدم تطابق بین آدرس IP پروکسی و داده‌هایی که در هدرهای اتصال می‌آیند (به عنوان مثال، منطقه زمانی سیستم عامل یا زبان سیستم) را می‌بیند. برای Wildberries، Ozon و Facebook Ads این یکی از محرک‌ها برای بررسی اضافی حساب است.

محدودیت 2: درخواست‌های DNS از پروکسی دور می‌شوند

این احتمالاً رایج‌ترین دلیل رفتار «عجیب» پس از خرید SOCKS5 است. بسیاری از برنامه‌ها به طور پیش‌فرض دامنه را به IP محلی از طریق سرور DNS ارائه‌دهنده شما حل می‌کنند و فقط سپس اتصال TCP را از طریق پروکسی ارسال می‌کنند. در نتیجه، سرور پروکسی به طور فیزیکی در آلمان قرار دارد، اما درخواست DNS از DNS محلی روسیه می‌پرسد که IP facebook.com چیست. وب‌سایت یا سیستم ضد تقلب عدم هماهنگی بین موقعیت جغرافیایی IP و حل‌کننده DNS را می‌بیند — و این یک سیگنال مستقیم برای مسدودسازی یا تأیید اضافی است. راه حل — مجبور کردن حل DNS از طریق پروکسی (گزینه Proxy DNS یا Remote DNS). در مرورگرهای ضد شناسایی، این تنظیم معمولاً در بخش «تنظیمات پیشرفته» پروفایل پنهان است و به طور پیش‌فرض ممکن است خاموش باشد — برای هر پروفایل جدید به صورت دستی بررسی کنید.

محدودیت 3: WebRTC پروکسی را به طور کامل می‌شکند

WebRTC — فناوری برای تماس‌های ویدیویی و استریمینگ در مرورگر است که یک اتصال P2P مستقیم بین دستگاه‌ها برقرار می‌کند. مشکل این است که WebRTC به طور کامل تنظیمات پروکسی SOCKS5 در سیستم را نادیده می‌گیرد و آدرس IP خارجی واقعی را از طریق سرورهای STUN به طور مستقیم فاش می‌کند. این حتی در مرورگری که پروکسی فعال است نیز اتفاق می‌افتد، اگر WebRTC به طور جداگانه غیرفعال نشود.

برای متخصصان SMM که ده‌ها حساب Instagram و TikTok را از طریق یک مرورگر ضد شناسایی مدیریت می‌کنند، این نشت به ویژه خطرناک است: پلتفرم به سرعت متوجه می‌شود که 15 حساب «مختلف» در واقع از یک IP واقعی از طریق نشت WebRTC خارج می‌شوند، حتی اگر پروکسی هر پروفایل متفاوت باشد. مرورگرهای ضد شناسایی حرفه‌ای WebRTC را به طور پیش‌فرض مسدود می‌کنند یا آن را به IP پروکسی تغییر می‌دهند، اما اگر از Chrome معمولی با تنظیمات دستی SOCKS5 از طریق تنظیمات سیستم استفاده کنید — WebRTC با احتمال 100% نشت خواهد کرد.

محدودیت 4: همه نرم‌افزارها به طور کامل از SOCKS5 پشتیبانی نمی‌کنند

بسیاری از برنامه‌های دسکتاپ و موبایل از «پروکسی» پشتیبانی می‌کنند، اما در عمل تنها تونل‌سازی HTTP/HTTPS را پیاده‌سازی می‌کنند و SOCKS5 به طور رسمی اضافه شده یا اصلاً اضافه نشده است. این شامل برخی از پارسرهای بازارها، نسخه‌های قدیمی ربات‌های تلگرام و همچنین بخشی از خدمات خودکار پست در شبکه‌های اجتماعی است. در چنین برنامه‌هایی، فیلد SOCKS5 ممکن است در رابط وجود داشته باشد، اما هنگام اتصال شما با خطای تایم‌اوت مواجه می‌شوید یا اتصال به سادگی «عبور نخواهد کرد» بدون توضیح واضح.

قبل از خرید یک مجموعه SOCKS5 برای نرم‌افزار خاص، باید به وضوح در مستندات یا از پشتیبانی سرویس بررسی کنید که آیا نسخه SOCKS5 (نه SOCKS4 که محدودیت‌های خاص خود را در احراز هویت و UDP دارد) به طور کامل پشتیبانی می‌شود، از جمله حل DNS از راه دور.

محدودیت 5: احراز هویت در همه جا به یک شکل کار نمی‌کند

SOCKS5 از دو روش احراز هویت پشتیبانی می‌کند: بر اساس IP (فهرست سفید) و بر اساس نام کاربری-رمز عبور. مشکل این است که بخشی از نرم‌افزار — به ویژه برنامه‌های موبایل و SDK — تنها با یکی از این روش‌ها کار می‌کند و گاهی اوقات اصلاً احراز هویت بر اساس نام کاربری-رمز عبور را در سطح تنظیمات سیستم پروکسی در Android یا iOS پشتیبانی نمی‌کند. اگر مجموعه پروکسی شما تنها برای نام کاربری-رمز عبور تنظیم شده باشد و برنامه انتظار فهرست سفید بر اساس IP را داشته باشد — اتصال به سادگی برقرار نخواهد شد و خطا به شدت غیرمفید خواهد بود («متصل نشد به سرور»).

علاوه بر این، برخی از ارائه‌دهندگان احراز هویت بر اساس IP نیاز به آدرس خارجی ثابت کامپیوتر یا سرور کاری شما دارند که این موضوع ناراحت‌کننده است، اگر شما با لپ‌تاپ از طریق شبکه‌های مختلف (خانه/اداره/کافه) کار می‌کنید — IP هر بار تغییر می‌کند و فهرست سفید باید به صورت دستی به‌روزرسانی شود.

محدودیت 6: محدودیت اتصالات همزمان

پروکسی SOCKS5، به ویژه پروکسی‌های مرکز داده، اغلب با محدودیت تعداد جلسات TCP همزمان از یک پورت فروخته می‌شوند. برای یک پروفایل مرورگر این موضوع نامحسوس است، اما اگر از یک پروکسی یکسان برای راه‌اندازی پارسر با دور زدن چند رشته‌ای کارت‌های Wildberries یا Ozon استفاده کنید، محدودیت اتصالات ممکن است بخشی از درخواست‌ها را بدون خطای واضح قطع کند — فقط بخشی از صفحات بارگذاری نخواهد شد و اسکریپت در انتظار پاسخ متوقف می‌شود.

این موضوع به ویژه در هنگام کار با پارسرهای قیمت با بار زیاد بحرانی است: اگر شما بر اساس 50 رشته از یک پورت SOCKS5 انتظار داشتید، در حالی که محدودیت واقعی 10 است، سرعت پارسینگ 5 برابر کاهش می‌یابد و شما تنها پس از آن متوجه خواهید شد که نظارت بر قیمت‌های رقبا ساعت‌ها «عقب» می‌افتد.

محدودیت 7: SDK های موبایل و سیستم‌های ضد تقلب

بسیاری از برنامه‌های موبایل (از جمله برنامه‌های خود بازارها و شبکه‌های اجتماعی) از SDK های داخلی استفاده می‌کنند که تنظیمات سیستم پروکسی را در سطح سیستم‌عامل دور می‌زنند و به طور مستقیم به سرورها از طریق استک شبکه خود متصل می‌شوند. SOCKS5 که در تنظیمات سیستم Android یا iOS تنظیم شده است، تنها بخشی از ترافیک را پوشش می‌دهد — ترافیک مرورگر و بخشی از برنامه‌های سیستم، اما تضمین نمی‌کند که تمام ترافیک برنامه‌های شخص ثالث را پوشش دهد.

به همین دلیل است که برای کار کامل برنامه‌های موبایل (Instagram، TikTok، Wildberries Seller) معمولاً از پروکسی‌های موبایل تخصصی استفاده می‌شود که خروج به اینترنت را دقیقاً از طریق اپراتور تلفن همراه شبیه‌سازی می‌کنند و به درستی با تمام مکانیزم‌های ضد تقلب پلتفرم‌ها کار می‌کنند، از جمله بررسی نوع شبکه (Wi-Fi/LTE) و اپراتور.

چگونه SOCKS5 را قبل از خرید بررسی کنیم

قبل از خرید یک مجموعه پروکسی برای 50-100 پورت برای یک کار خاص، بهتر است یک یا دو پروکسی را در یک سناریوی واقعی آزمایش کنید. در اینجا یک چک‌لیست حداقلی برای بررسی وجود دارد:

  • حل DNS را از طریق سرویس تعیین IP و نشت DNS بررسی کنید — موقعیت جغرافیایی باید در هر دو مورد یکسان باشد.
  • صفحه تست بررسی نشت WebRTC را در مرورگری با پروکسی فعال باز کنید — IP واقعی نباید نمایش داده شود.
  • نرم‌افزار مورد نیاز (مرورگر ضد شناسایی، پارسر، ربات) را دقیقاً با این پروکسی اجرا کنید، نه «پروکسی در خلاء» از طریق curl — برخی محدودیت‌ها تنها در سطح برنامه خاص بروز می‌کنند.
  • از ارائه‌دهنده نوع احراز هویت (نام کاربری-رمز عبور یا فهرست سفید IP) و محدودیت اتصالات همزمان در پورت را بپرسید.
  • سرعت و ثبات را در چند رشته موازی بررسی کنید، اگر قصد دارید پارسینگ چند رشته‌ای انجام دهید.

این بررسی 15-20 دقیقه طول می‌کشد، اما بودجه شما را برای خرید یک مجموعه پروکسی که ممکن است برای نرم‌افزار شما کار نکند، صرفه‌جویی می‌کند.

چه چیزی به جای SOCKS5 انتخاب کنیم: مقایسه گزینه‌ها

SOCKS5 پروتکل بدی نیست، فقط برای همه وظایف یونیورسال نیست. بسته به اینکه با کدام نرم‌افزار کار می‌کنید، بهتر است نوع دیگری از پروکسی یا ترکیبی را انتخاب کنید.

وظیفه نوع پروکسی پیشنهادی چرا
چند حسابی در Facebook Ads، TikTok Ads پروکسی‌های مسکونی IP واقعی کاربران خانگی، درصد پایین مسدودسازی خودکار
مدیریت حساب‌های Instagram، TikTok، SDKهای موبایل پروکسی‌های موبایل با نوع شبکه اپراتور مطابقت دارند، از مکانیزم‌های ضد تقلب برنامه‌های موبایل عبور می‌کنند
پارسینگ انبوه Wildberries، Ozon بدون نیاز سخت به ناشناسی پروکسی‌های مرکز داده سرعت بالا، قیمت پایین، مناسب برای وظایف ساده نظارت
تورنت‌ها، کلاینت‌های ایمیل، نرم‌افزار سفارشی بدون ویژگی‌های وب SOCKS5 پروتکل یونیورسال بدون وابستگی به ویژگی‌های HTTP

توجه داشته باشید: خود پروتکل (HTTP/HTTPS یا SOCKS5) و نوع IP (مسکونی، موبایل، مرکز داده) — این‌ها پارامترهای مختلفی هستند. پروکسی‌های مسکونی و موبایل از ارائه‌دهندگان معتبر معمولاً هر دو پروتکل را پشتیبانی می‌کنند، بنابراین سوال این نیست که «SOCKS5 یا مسکونی»، بلکه «کدام نوع IP برای وظیفه لازم است + کدام پروتکل نرم‌افزار من را پشتیبانی می‌کند».

نتیجه‌گیری

SOCKS5 یک پروتکل کارآمد است، اما «قرص جادویی» برای هر نرم‌افزاری نیست. بیشتر مشکلات پس از خرید مربوط به نقص پروکسی نیست، بلکه به این دلیل است که پروتکل وظایف را در سطح برنامه حل نمی‌کند: هدرها را تغییر نمی‌دهد، حل DNS از طریق پروکسی را تضمین نمی‌کند، نشت‌های WebRTC را مسدود نمی‌کند و همیشه توسط SDKهای موبایل پشتیبانی نمی‌شود. قبل از خرید یک مجموعه پروکسی، همیشه سناریوی خاصی را بر روی نرم‌افزار خود آزمایش کنید، نه یک بررسی انتزاعی IP.

اگر وظیفه شما چند حسابی در پنل‌های تبلیغاتی یا مدیریت حساب‌ها در شبکه‌های اجتماعی است، به پروکسی‌های مسکونی توجه کنید — آن‌ها بیشتر مشکلات مربوط به DNS و هدرها را با استفاده از آدرس‌های IP واقعی حل می‌کنند. برای کار با برنامه‌های موبایل و SDK منطقی‌تر است که مستقیماً پروکسی‌های موبایل را بگیرید، و برای پارسینگ انبوه بدون نیاز سخت به ناشناسی — پروکسی‌های سریع و مقرون به صرفه مرکز داده را انتخاب کنید.