سیستم فیلترینگ جدید همراه اول چجوری کار میکنه؟
این سیستم از دو بخش تشکیل میشه 1- بخش active که مسئول چک کردن 1.2 تا 17 کیلوبایت اول هر کانکشنی هست که به خارج کشور زده میشه، این سیستم تو پکتهای اول هر استریم دنبال signature های از پیش تعریف شده میگرده مثلا چک میکنه اگر پکت اول با
0x16 0x3
شروع بشه بنابراین این پکت احتمالا از نوع tls هست، بعد سعی میکنه توی این پکت دنبال extension sni بگرده، اکستنشن sni با 0x1 به همراه طول پکت شروع میشه، بعد از اینکه این سیستم sni رو شناسایی کرد چک میکنه ایا sni توی hashtable های فیلترشدش هست یا نه، اگر پکت
از نوع tls نبود این سیستم میگرده دنبال سیگنچرهای دیگه مثلا دنبال SSH و HTTP و غیره در خصوص HTTP این سیستم بدنبال هدر Host میگرده، قبلا این سیستم به حروف بزرگ و کوچیک و فاصله اضافی حساس بود و دور میخورد ولی الان اپدیت شده و همه فاصلههارو پاک میکنه، بنظر میاد این بخش چک کردن
سیگنچرها بصورت active بخاطر بارپردازشی بالایی که داره رو پردازندههای خاص منظوره asic انجام میشه ولی خوب هرچقدرم این پردازندهها قوی باشن بازم تاخیر و پینگ رو بالا میبرن و علت اینکه بعد از ظهرا پینگ بالا میره همینه که ملت از سرکار برگشتن و فیلترشکنارو روشن کردن ریختن تو اینترنت
و سیستم فیلترینگ congest شده، نکته قابل توجه اینه که بخش active اپراتورها با همدیگه متفاوته و هرکدوم باگهای خودشونو دارن که نشون میده این سیستم یکپارچه نیست. 2- بخش passive:
تا قبل از اپدیت اخیر کلا سیستم dpi active بود و اگه شما میتونستید گولش بزنید دیگه باهاتون کاری نداشت
و رد میشید اما طی اپدیت اخر روی dpi همراه اول این ها میان بصورت رندوم تعدادی از کانکشنای هر شخصی رو sampling میکنن یعنی مثلا از هر 10 کانکشن شما یکیشو capture میکنن و بصورت passive و سر حوصله تو کانکشن capture شده دنبال پترنهای فیلترشکن میگردن، پترنهایی هم که دنبالش میگردن
شامل پترنهای tls in tls و authentication ها و هدر پکتای vpn های معروف میشه. ببینید شما وقتی v2ray مثلا vless استفاده میکنید خود vless به ازای هر کانکشن با سرور یه پکت کوچیک authentication قبل از فرستادن stream اصلی ارسال میکنه که سرور مطمئن بشه کلاینت درستی داره درخواست میده
در کنار اون وقتی شما کانکشن جدید vpn میزنید و توش یه کانکشن tls دیگه وجود داره بعد از پکتهای auth مربوط به v2ray پکتای هندشیک دو مرحلهای یا سه مرحلهای tls وجود داره که الگوی واضحی دارن، یعنی سیستم فیلترینگ passive میاد دنبال پترنهای تکرار شونده پکتای کوچیک با الگوی
هندشیک tls یا v2ray میگرده و اگه پیدا کرد میاد flag ش میکنه، ip ها و دامینهای flag شده هر 8 ساعت یکبار به اطلاع سیستم فیلترینگ میرسن و تراتل یا کاملا مسدود میشن، رئالیتی کاری که کرده بود این بود که پکت هندشیک tls کانکشن داخلی رو تو padding tls کانکشن vpn میذاشت که، این تریک خوب
برای gfw چین جواب میداده ولی الان دیگه برای ایران جواب نمیده نتنها رئالیتی بلکه مدل کلی tls in tls یا پکتای هندشیک مشخص v2ray.
حالا راهحل چیه؟
راهحل خیلی سادس یکاری کنیم این الگوها بوجود نیان و لذا سرور هم فیلتر نمیشه. به همین راحتی شما فقط کافیه با دستکاری کد این
الگوهارو بشکنید از جمله مواردی که خیلی کمک میکنه یک multiplexing برای کاهش تعداد کانکشنا و درنتیجه کم شدن شانس sample شدنه و در کنار اون تزریق پکتای رندوم به مخصوصا اوایل هر استریم و اضافه کردن پدینگ یا فرگمنت کردن پکتای auth و شکستنش به تعدادی پکت با سایزها و پدینگهای مختلفه
همونطور که قبلا هم گفتم علت موثر بودن فیلترینگ عدم وجود راهی هست که بشه راحت پروتکلهای موجود رو دستکاری کرد و نتیجه حاصل از دستکاری رو بین user ها منتشر کرد که هدف از sdk bepass هم همین سادهسازی این زنجیرس.
یک نکته اخری درخصوص vps ها میمونه که وقتی شما تانل ایران راه میندازید
سعی کنید حتما رو سرورتون یه noise generator داشته باشید تا بجز سرور فیلترشکنتون به ایپیهای دیگه هم درخواست بفرستید تا تنها ایپی که بهش درخواست میفرستید سرور فیلترشکنتون نباشه چون بنظر میاد اینها مانیتور میکنن و گزارش میکنن، استفاده از سرور ایران برای تانل باید جزو اخرین
راهحلها و از سر ناچاری باشه چون پول دادن به این پرووایدرها عملا مساوی هست با سرمایهگذاری برای تقویت فیلترینگ.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
اول برید یه سرور خوب بخرید ایپیش تمیز باشه و پینگش پایین باشه، بعد برید سایت ثبت نام کنید، تو قسمت myservices بخش dns records برید یه هاست یا سابدامنه ست کنید noip.com
من اینجا رو ست کردم، بعد مطمئن بشید سرور لینوکسیتون پورتای 80 و 443 ش ازاده و بعدش nginx رو نصب کنید
apt install nginx
بعد برید
/etc/nginx/sites-enabled/defaut
رو ادیت کنید و servername رو بذارید دامینی که ست کردید gogoli.webhop.me
تو قدم بعدی برید certbot رو نصب کنید که سرتیفیکیت رایگان ssl بگیریم
apt install certbot python3-certbot-nginx
در قدم بعدی بزنید
certbot --nginx -d DAMANATON
و چندتا سوال ساده میپرسه همرو Y بزنید تهش باید بگه مبارکه و اینا
همونطور که قبلا گفتیم شبکه از چندلایه تشکیل میشه که این لایهها رو همدیگه سوارن لذا فیلترچی هم برای اینکه فیلترینگ رو موثرتر کنه میاد و تو لایههای مختلف دسترسی آزاد شما به اینترنت رو مختل میکنه، قبلا درباره فیلترینگ dns صحبت کرده بودیم
الان میخوایم درباره فیلترینگ tcp/ip و udp صحبت کنیم، همونطور که میدونید ip، ادرس کامپیوتر شما تو یه شبکس و مثل محیط واقعی شما اگه بخواید به کسی بگید چیزی براتون بفرسته باید بگید اونو به آدرس محل سکونتتون ارسال کنه، البته شکل آدرس دهیتون تو محلتون مثلا به سوپری
سر کوچه با شکل آدرسدهیتون به کسی که قراره از یه محل دیگه، یه شهر دیگه یا کشور دیگه براتون بسته ارسال کنه کاملا متفاوت میشه. مثلا میرید بقالی میگید لطفا بسته من رو بفرستید دو تا کوچه بالاتر از کوچه شهید x و پلاک مثلا 2 واحد فلان، ولی خوب مثلا دوستتون اگه ازونور شهر
داستان dns و فیلترینگ
اول از همه باید ببینیم dns چیه؟
این dns یک سرویس شبکس و مثل هر سرویس دیگهای از یکسری پروتکلها، فرمتها، استانداردها و پیشفرضها تشکیل میشه، dns مهمترین وظیفش اینه که دامین رو به ip تبدیل کنه مثلا میگید ایپی چیه بهتون میگه 8.8.8.8google.com
به dns امالسرویس هم میگن، یعنی هر سرویس شبکه(پروتکل نه سرویس، یعنی چیزی که کاربر باهاش سر و کله میزنه) بالاخره یجوری با این dns سروکار داره، درواقع dns یجورایی یه database کلید، مقدار هست که شما میتونی توش هرچیزی ذخیرهکنی ولی مهمترین کاربردش تبدیل دامنه(بعنوان کلید) به
آدرس ip بعنوان مقدار هست ولی شما عملا مثل هر دیتابیس دیگهای هرچیزی میتونی تو dns بذاری، پروتکل dns مثل دیتابیسهای دیگه فیلدهاش(کلیدها و مقادیر) میتونن نوع داشته باشن مثلا میتونن نوع txt که یه string هست داشته باشن، نوعهای مرسوم و مهم که رکوردهای dns میتونن داشته باشن
تو این رشتو میخوام توضیح بدم ساکس پروکسی سرور چیه و چجوری کار میکنه؟
ساکس پروکسی دوتا(و نصفی) ورژن مهم و پرکاربرد داره که عبارتند از
یک1- socks4 که نسخه قدیمیتره و از udp پشتیبانی نمیکنه، بصورت خلاصه ساکس 4 میتونه دونوع درخواست connect و bind رو مدیریت کنه که در ادامه توضیح میدم
یکونیم1.5- socks4a هست که عینا همهچیزش مثل socks4 هست با این تفاوت که که علاوه بر پروکسی کردن ipv4 میتونه hostname(همون دامین یا fqdn) هم پشتیبانی کنه(دقت کنید socks4/a کلا توانایی کارکردن با ip6 رو نداره)
دو2- socks5 هست که تقریبا همه مشکلات ساکس 4 و 4a رو حل میکنه یعنی علاوه بر connect و bind از نوع دستوری associate هم برای پراکسی کردن udp پشتیبانی میکنه که در ادامه نحوه کار این دستورهارو توضیح میدم. فقط ممکنه بعضا عبارت socks5h رو هم بشنوید که یعنی تو socks5 اومدن dns گذاشتن