Ситуация следующая.
Каждое устройство в сотовой сети в момент регистрации сообщает сети свой IMEI - код устройства, по которому можно однозначно определить модель Вашего устройства.
Да, нужна база IMEI с device capabilities - описанием того, что это за устройство и что оно умеет. Но она у мобильного оператора уже есть: Вам, когда Вы впервые вставляли сим-карту в новый телефон, прилетали SMS-кой настройки интернета? Настройки у разных производителей немного разные, поэтому надо знать модель абонентского аппарата.
Получается, что как только ты вставляешь сим-карту в Wi-Fi-роутер, оператор без дополнительного оборудования понимает, что это роутер, а значит, он будет раздавать интернет через Wi-Fi. Это первый рубеж детекции, и его реализация оператору обходится совершенно бесплатно.
Второй рубеж: анализ TTL, как писал
Fixid.
Надо понимать, что на первом рубеже будут отловлены только собственно роутеры, а включенная в настройках телефона точка доступа Wi-Fi оператору не видна.
Но есть уловка: устройство, раздающее интернет по Wi-Fi, по умолчанию будет уменьшать поле TTL на всех проходящих через него ip-пакетах.
Зная типичные начальные значения TTL для мобильных платформ, можно реагировать на все прочие значения как сигнал, что здесь где-то притаился Wi-Fi )
Для реализации этого, оператору уже потребуются дополнительные расходы.
Понятно, что ставить отдельное устройство для отлова любителей Wi-Fi никто не будет, поэтому обычно этим занимается операторский DPI - комплекс, занимающийся классификацией и "раскраской" абонентского трафика, благодаря которому и становится возможен, например, бесплатный вконтакте у некоторых операторов. Но, во-первых, что удивительно, не все DPI это умеют. Во-вторых, те, что умеют, умеют это за отдельные деньги в виде подлежащей покупке лицензии.
Есть и третий рубеж, специально для отлова хитрож... абонентов вроде того же
Fixid ;)
Это эвристика.
Тема интересная и увлекательная.
Да, абонент может поменять IMEI прямо в настройках телефона.
Да, абонент может перепрошить телефон, чтобы он не трогал TTL.
Но, как только хитрых абонентов становится много, оператору становится выгодно вкладываться в расширенный анализ трафика.
Итак, что можно сделать?
Ну, сходу:
Вы выходите в интернет прямо с телефона через встроенный браузер? Поздравляем, Вы только что в поле User-Agent протокола HTTP рассказали оператору, какая у вас мобильная платформа, и какой версии!
Как так, с одного устройства оператор видит разные User-Agent, указывающие то на Android, то на Apple? Ребята, да у вас там Wi-Fi!
TCP/IP fingerptinting. Разные мобильные платформы (те же Android/Apple) используют разные начальные значения полей в ip-пакетах. Да взять хоть тот же TCP Window size! Анализируя их, можно угадать как минимум производителя платформы. А комбинируя это с тем же анализом по IMEI...
Ребята, а как так: само устройство у вас от Apple, а значения полей в ip-пакетах характерны для Windows Phone?
Или почему ваш трафик похож то на Android, то на Blackberry?
Умеет это тем более не всякий DPI, и который умеет, умеет за тем более отдельные деньги за лицензию. Да и производительность подобный анализ просаживает очень здорово... Но, тем не менее, если припрёт, это возможно.