3

Я заметил, что мой маршрутизатор (Asus RN-N12E_B1) показывает операционную систему рядом с клиентами, которые к ней подключены.

Как это определяет это? Через агента пользователя?

Какие еще методы есть у него под рукой, чтобы собрать информацию об устройстве, которое подключено?

1 ответ1

2

Есть несколько способов сделать это, и обычно маршрутизатор использует комбинацию от 1 до 3 из более простых вариантов. Маршрутизатор / точка доступа обычно не имеет мощности процессора, чтобы сделать что-то исчерпывающее. Просто слишком много работы.

Во всяком случае: это не гарантировано работать. Некоторые устройства не показывают много информации, это может быть неоднозначным, а некоторые устройства могут фактически лгать о том, что это за устройство.

Типичные методы:

  1. Для устройств Apple и многих телефонов / планшетов вы можете узнать по идентификатору вендора в mac-адресе. Маршрутизатор просто имеет карту-таблицу, которая сопоставляет известные идентификаторы вендоров с соответствующей ОС.
  2. Многие устройства отвечают известным образом на запрос Bonjour, PNRP, UPNP или NetBios. Просто отправьте несколько таких проб и проанализируйте полученные ответы. Из этого часто можно определить, является ли это Windows (и какая версия), OSX, Linux, принтером (и какой моделью), мультимедийным устройством, телевизором и т.д.
  3. Устройства, поддерживающие SNMP, часто сообщают о своей ОС, модели, версии и т.д. В ответ на запрос SNMP. Требуется очень мало усилий, чтобы запросить эту информацию с устройства.
  4. В ряде случаев способ, которым устройство выдает запрос DHCP к маршрутизатору, раскрывает информацию об ОС.

Вы упомянули "Пользовательский агент". Я предполагаю, что вы имеете в виду строку user-agent браузера. Это очень маловероятно, так как это потребует больших усилий для реализации (маршрутизатор должен отслеживать весь HTTP-трафик на наличие строк пользовательского агента, что требует больших усилий) и полезно только для клиентов, которые a) имеют веб-браузер и b) где пользователь не изменил строку агента во что-то необычное и в) где пользователь использует стандартный браузер, а не что-то непонятное, и d) где пользователь не использует просмотр в "приватном режиме" (который обычно не показывает обычная строка user-agent).
Много усилий для очень мало надежной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .