Пассивное снятие отпечатка ОС работает на уровне детект на уровне сетевого стека: исследователь смотрит не на браузер, а на то, как хост формирует пакеты. Разберем энтропию данного параметра: различаются TTL по умолчанию, размер окна, порядок TCP options, MSS, SACK, timestamps и поведение в retransmission.
Классический пример — SYN/SYN-ACK. Даже без ответа приложения можно увидеть характерный набор признаков: окно 64240 у одной ветки стеков, 65535 у другой, different initial TTL, и специфичный порядок MSS, SACK, TS, NOP, WS. У Linux, Windows и BSD эти поля собираются по-разному, а прокси на уровне L7 это уже не скрывает.
На практике полезно проверять не один параметр, а весь вектор: совпадает ли TTL с типичным стартовым значением, нет ли аномалий в DF-бите, как меняется размер сегментов при фрагментации, одинаково ли ведут себя исходящие RST и ACK. Именно поэтому «подмена User-Agent» бесполезна против сетевой идентификации: анализ структуры TLS Client Hello и пассивный TCP-отпечаток живут ниже браузера.
Если нужна маскировка, работать приходится не с косметикой, а с согласованностью стека: виртуализация, туннели, прокси, NAT и системные параметры должны выглядеть как единый профиль, иначе детект собирается по мелким несостыковкам. Спуфинг через инъекцию JS-кода тут не помогает — это другой слой.
Проверяйте ОС на p0f-подобных сигнатурах, сравнивайте захват SYN-пакетов и ищите расхождения между заявленной средой и реальной сетевой геометрией.
Антидетект: эксперт
@antidetect_expert_arb
TCP/IP fingerprinting: как ОС выдает себя еще до TLS и HTTP
Этот пост опубликован в Telegram-канале Антидетект: эксперт. Подписаться можно по ссылке: @antidetect_expert_arb.