ID:
PMTU_MSS_COMBINEDКатегория: Маршруты и сетевой стек Статус в RKNHardering 2.10.0: Активная проверка Роль в вердикте: Низкая
Эта страница описывает фактическую реализацию RKNHardering 2.10.0. Здесь отдельно указано, что можно сделать без root, что требует root, а также где способ только уменьшает один сигнал, но не скрывает VPN целиком.
Функция создаёт TCP socket и пытается подключиться к 127.0.0.1:443. Только если локальный listener принимает соединение, она читает TCP_INFO и выводит tcpi_snd_mss и tcpi_rcv_mss. UDP/PMTU в этой функции фактически не проверяются, несмотря на название.
Успешный connect к localhost:443 и успешный getsockopt(TCP_INFO). Значения не сравниваются с порогом; строка informational.
Это baseline локального TCP stack/listener, не признак VPN. Если порта 443 нет, строки вообще не будет. Любое MSS само по себе нормально только в контексте peer и route.
Как строка влияет на отчёт: Строка информационная либо диагностическая. Она нужна для сравнения запусков, но сама по себе не доказывает VPN или вмешательство.
Loopback не измеряет интернет PMTU или туннель. Listener может применять собственные socket options. Название combined вводит в заблуждение; порогов и correlation нет.
Важно оценивать эту строку вместе с соседними сигналами. Один чистый API не перекрывает Java Binder, libc, raw netlink/syscall, procfs/sysfs, локальные сокеты и серверные признаки одновременно.
Для диагностического сигнала сначала ничего не «исправляйте». Запишите baseline на том же устройстве без VPN, затем повторите с VPN при одинаковой сети, температуре и нагрузке. Только воспроизводимая разница между сериями пригодна для анализа. Одиночное значение MTU, времени или GSO не является доказательством. Не запускайте специально listener ради «прохождения»: наличие listener создаёт port-conflict сигнал. Для сетевого исследования используйте отдельный test server и отдельный probe.
Root-модуль может изменить этот показатель, но настройка ради конкретного числа легко нарушает TCP/UDP, DNS, звонки или энергопотребление. VPNHide Next заявляет фильтрацию ряда косвенных параметров, однако такие возможности нужно проверять отдельно от базового сокрытия интерфейсов. Не включайте максимальный набор kernel hooks до получения чистого baseline и рабочего отката. Не подменяйте TCP_INFO глобально. Если исследуется MSS, снимайте pcap и route MTU в тестовой среде.
adb shell 'ss -H -ltn | grep -E "127[.]0[.]0[.]1:443|[*]:443" || echo no-local-443-listener'
При наличии listener сравните detail с native getsockopt(TCP_INFO) test; ss может показывать другое поле MSS.
После любого изменения сделайте force-stop RKNHardering и VPN-клиента, запустите их заново и повторите полный scan. Для Zygisk/Xposed/kernel-модулей обычно нужна перезагрузка. Сравнивайте не только эту строку, но и соседние сигналы: частичный hook часто создаёт несогласованность между API.
Сама проба выполняется с обычными правами приложения и не запрашивает root. ADB-команды ниже служат только для ориентира: adb shell работает под другим UID и может видеть больше или меньше, чем процесс приложения. Решающий тест — повторный запуск самой проверки после force-stop.
Запуск тестового сервиса на 443 конфликтует с локальными API. Глобальная подмена MSS может вызвать fragmentation/black-hole соединения.
Остановите только созданный тестовый listener и удалите его автозапуск. Верните socket/kernel параметры по умолчанию.
Низкая. Проверено по loopback connect и отсутствию thresholds; kind informational.
Статус стороннего решения не переносится автоматически на это устройство. Заявление разработчика модуля — это исходная гипотеза; подтверждением служит повторяемый результат RKNHardering на конкретной версии Android, прошивки и ядра.
native_signs_probe.cpp — нативная реализация проб.VpnNativeDetectorChecker.kt — deep VPN verdict и confidence.NativeSignalId.kt — полный реестр ID.NativeSignalCatalog.kt — категория, slug и mapping строк.Связанные сигналы: tcp-mss-low, loopback-port-conflict, normal-pmtu.