TCP-відбиток

TCP-відбиток — параметри мережевих пакетів, за якими можна приблизно визначити операційну систему пристрою, що встановив з'єднання.

Оновлено · Редакція Prokso

Перш ніж обмінюватися даними, пристрій і сервер встановлюють TCP-з'єднання. Перший пакет від клієнта несе кілька службових значень: початковий TTL, розмір вікна, максимальний розмір сегмента та набір опцій TCP разом із їхнім порядком. Кожна операційна система заповнює ці поля трохи по-своєму.

Наприклад, Windows зазвичай починає з TTL 128, а Linux, Android, macOS та iOS — з 64. Різниться й набір опцій та їхня послідовність. З цих деталей складається TCP-відбиток, за яким можна припустити, яка ОС стоїть по той бік з'єднання.

Такий аналіз називають пасивним: серверу не треба нічого надсилати, достатньо подивитися на пакети, що прийшли. Найвідоміший інструмент цього типу — p0f, але подібні перевірки вбудовані й у різні системи захисту сайтів. Результат завжди приблизний: налаштування мережі та проміжні пристрої можуть змінювати значення.

Із проксі картина інша. Ваш пристрій встановлює TCP-з'єднання лише з проксі, а до сайту окреме з'єднання відкриває вихідний вузол. Тому сайт бачить TCP-відбиток не вашого комп'ютера, а пристрою, через який проходить трафік: сервера в дата-центрі, домашнього роутера чи телефона для резидентських і мобільних проксі.

Звідси можлива розбіжність. Браузер у заголовку User-Agent повідомляє, наприклад, «Windows», а TCP-відбиток з'єднання схожий на Linux, бо вихідний вузол працює на Linux. Сайт може помітити, що ці дані не збігаються, і врахувати це у своїй оцінці.

Деякі значення змінюються й без проксі. Кожен роутер на шляху зменшує TTL на одиницю, тож сервер бачить не початкове число, а трохи менше, і округлює його до найближчого типового. Розмір сегмента може зменшуватися, якщо трафік іде через тунель або мобільну мережу. Через ці особливості навіть звичайне домашнє з'єднання не завжди дає «чистий» відбиток. Тому одна розбіжність рідко щось вирішує сама по собі.

TCP-відбиток доповнює TLS-відбиток і відбиток браузера: перший описує мережевий рівень, другий — програму, третій — середовище браузера. Жоден із них окремо не дає точної відповіді, тому сайти дивляться на сукупність ознак. Знати про цей механізм корисно, щоб розуміти, чому той самий IP може по-різному сприйматися з різних пристроїв.

Питання й відповіді

Чий TCP-відбиток бачить сайт, коли я працюю через проксі?

Сайт бачить TCP-з'єднання від вихідного вузла проксі, тому й TCP-відбиток належить цьому пристрою, а не вашому комп'ютеру.

Чи можна точно визначити ОС за TCP-відбитком?

Ні, результат приблизний. Значення на кшталт TTL і розміру вікна можуть змінювати налаштування мережі та проміжні пристрої, тому сайти дивляться на сукупність ознак.

Резидентські $1.59, мобільні $2.50, серверні $0.65 за 1 ГБ

Реєстрація за хвилину, доступи одразу після оплати.

Створити акаунт