شناسه:
UDP_PMTU_OKدسته: مسیرها و پشتهٔ شبکه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: پایین
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
پروب یک سوکت UDP میسازد و یک بار sendto() را با بافر 1500 بایتی به درگاه DNS روی loopback، یعنی 53، اجرا میکند. اگر مقدار بازگشتی بزرگتر از 0 باشد، udp_pmtu_ok تولید میشود؛ وجود گیرنده یا شنونده لازم نیست. خط دادهٔ اطلاعاتی با اطمینان پایین است.
هسته یک دیتاگرام محلی UDP با اندازهٔ 1500 بایت را در مسیر ارسال بپذیرد.
موفقیت فقط نشان میدهد مسیر ارسال loopback دیتاگرام را پذیرفته است. PMTU مسیر خارجی، fragmentation یا تحویل به سرویس DNS را نمیسنجد.
تأثیر این خط بر گزارش: این خط اطلاعاتی یا تشخیصی است. برای مقایسهٔ اجراها مفید است، اما بهتنهایی وجود VPN یا دستکاری را ثابت نمیکند.
MTU در loopback معمولاً بسیار بزرگتر از MTU فیزیکی است. ارسال موفق UDP تحویل را تأیید نمیکند. برچسب PMTU ارزش اطلاعاتی را بیش از حد نشان میدهد.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
برای سیگنال تشخیصی، ابتدا هیچ چیزی را «اصلاح» نکنید. روی همان دستگاه بدون VPN خط مبنا ثبت کنید و سپس آزمون را با VPN و تحت همان شبکه، دما و بار تکرار کنید. فقط تفاوت تکرارپذیر میان دو مجموعه برای تحلیل مفید است. یک مقدار MTU، زمانبندی یا GSO بهتنهایی مدرک نیست.
ماژول روت میتواند این شاخص را تغییر دهد، اما تنظیم آن برای رسیدن به عددی خاص بهآسانی TCP/UDP، DNS، تماسها یا مصرف انرژی را مختل میکند. VPNHide Next ادعا میکند چند پارامتر غیرمستقیم را فیلتر میکند، ولی این قابلیتها باید جدا از پنهانسازی پایهٔ رابط آزموده شوند. پیش از داشتن خط مبنای پاک و روش بازگردانی عملی، بیشترین مجموعهٔ هوکهای هسته را فعال نکنید. فقط برای تغییر نتیجه UDP/53 روی loopback را مسدود نکنید؛ این کار udp-pmtu-fail میسازد و ممکن است DNS محلی را مختل کند.
adb shell ip link show lo
adb shell 'cat /sys/class/net/lo/mtu 2>/dev/null'
روی هستهٔ عادی انتظار میرود ارسال بدون توجه به وجود شنونده موفق شود.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
آزمایشهای فایروال یا SELinux پیرامون DNS روی loopback ممکن است نامگشایی برنامهها را خراب کنند.
قاعدهٔ موقت loopback یا فایروال را حذف و netd، VPN یا دستگاه را دوباره راهاندازی کنید.
پایین. با ارسال ثابت 1500 بایتی روی loopback راستیآزمایی شده است؛ اطلاعاتی.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.VpnNativeDetectorChecker.kt — حکم و اطمینان بررسی عمیق VPN.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: udp-pmtu-fail, normal-pmtu, backpressure.