UDP_SEGMENT و شکست ارسال 4800 بایتشناسه:
GSO_SEND_FAILEDدسته: مسیرها و پشتهٔ شبکه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: پایین
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
پس از تنظیم موفق UDP_SEGMENT=1200، پروب یک دیتاگرام 4,800 بایتی به 127.0.0.1:53 میفرستد. اگر sendto مقدار -1 برگرداند، gso_send_failed|errno=N تولید میشود. بررسیکننده خط را دادهٔ اطلاعاتی با اطمینان پایین نمایش میدهد.
گزینهٔ GSO سوکت پذیرفته شده، اما ارسال بافر بزرگ روی loopback شکست بخورد.
این مسیر مشخص ارسال را عیبیابی میکند. شکست ممکن است به پشتیبانی offload، بافر سوکت، policy یا باگ هسته مربوط باشد؛ وجود VPN را ثابت نمیکند.
تأثیر این خط بر گزارش: این خط اطلاعاتی یا تشخیصی است. برای مقایسهٔ اجراها مفید است، اما بهتنهایی وجود VPN یا دستکاری را ثابت نمیکند.
بررسی errno یا قطعهبندی واقعی را تحلیل نمیکند. loopback معادل دستگاه فیزیکی یا تونل نیست. گیرنده لازم نیست و تحویل تأیید نمیشود.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
برای سیگنال تشخیصی، ابتدا هیچ چیزی را «اصلاح» نکنید. روی همان دستگاه بدون VPN خط مبنا ثبت کنید و سپس آزمون را با VPN و تحت همان شبکه، دما و بار تکرار کنید. فقط تفاوت تکرارپذیر میان مجموعهها برای تحلیل مفید است. یک مقدار MTU، زمانبندی یا GSO بهتنهایی مدرک نیست. پس از ریبوت و با فایروال و VPN غیرفعال آزمون را تکرار و errno را ثبت کنید. MTU را حدسی پایین نیاورید.
ماژول روت میتواند این معیار را تغییر دهد، اما تنظیم برای رسیدن به عددی خاص بهآسانی TCP/UDP، DNS، تماسها یا مصرف انرژی را مختل میکند. VPNHide Next ادعا میکند چند پارامتر غیرمستقیم را فیلتر میکند، ولی این قابلیتها باید جدا از پنهانسازی پایهٔ رابط آزموده شوند. پیش از داشتن خط مبنای پاک و مسیر بازگردانی عملی، بیشترین مجموعهٔ هوکهای هسته را فعال نکنید. گزارشهای هسته و پشتیبانی سازنده را بررسی کنید. فقط مقدار بازگشتی sendto را جایگزین نکنید؛ این موفقیت جعلی میسازد و ممکن است خطای واقعی برنامه را پنهان کند.
adb shell dmesg 2>/dev/null | grep -Ei 'udp|gso|segmentation|skb' | tail -80
adb shell uname -r
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
آزمایشهای هسته یا network-sysctl ممکن است UDP/QUIC و DNS را تضعیف کنند. آنها را روی دستگاه اصلی بهصورت سراسری اعمال نکنید.
تنظیمات sysctl، هسته و ماژول را به خط مبنا بازگردانید، دستگاه را ریبوت و آزمونهای DNS/QUIC را تکرار کنید.
پایین. شاخهٔ setsockopt موفق/send ناموفق راستیآزمایی شده است؛ اطلاعاتی.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.VpnNativeDetectorChecker.kt — حکم و اطمینان بررسی عمیق VPN.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: gso-failed, gso-ok, udp-pmtu-fail.