Home PC Zone Виртуальный хотспот: делимся инетом, поднимаем Rogue AP, расширяем диапазон действия Wi-Fi

Необходимость создать виртуальный хотспот на ноутбуке может возникнуть по разным причинам. Кому-то важно расшарить доступ в инет через 3G- или WiMax-модем для других беспроводных устройств. А кто-то хочет сделать фейковую точку доступа (Rogue AP) и, завлекая клиентов, снифать их трафик. Но мало кто знает, что возможность для этого встроена в саму винду!

С появлением у сотовых операторов покрытия 3G-сети я все чаще стал использовать мобильный интернет. Если работать через USB-модем, то нередко удается добиться довольно сносного коннекта. Тем более, что такие девайсы стоят очень дешево и продаются в комплекте с весьма вменяемыми тарифами, которые не разорят в первый же день использования. Одной из проблем, на которые я заморочился после покупки 3G-модема, стала организация из ноутбука хотспота, чтобы по Wi-Fi можно было раздавать мобильный интернет для других беспроводных устройств.

Если посмотреть подборку софта на нашем диске, то легко найдутся сразу несколько программ, позволяющих быстро поднять софтверную точку доступа на основе Windows-системы. Меня всегда удивляло их ограничение — утилиты работают только на Windows 7 и Windows 2008 Server R2. Объяснение оказалось очень простым. Дело в том, что в этих системах впервые была реализована фича Wireless Hosted Network (в русском переводе — размещенная сеть). Теперь, чтобы сделать виртуальную точку доступа, не нужно ничего, кроме стандартных инструментов винды.

Как это работает?

По сути технология Wireless Hosted Network — это симбиоз двух подходов:

  • виртуализации нескольких виртуальных беспроводных адаптеров на основе одного физического (Virtual WiFi);
  • организации программной точки доступа с помощью одного из виртуальных беспроводных адаптеров (SoftAP).

VirtualWifi является интересным примером виртуализации, с помощью которой становится возможным использовать ресурсы одного WLAN-адаптера, чтобы работать в нескольких беспроводных сетях. С ее помощью можно поднять несколько виртуальных беспроводных адаптеров, отдельно сконфигурировать и подключить к разным точкам доступа, но при этом все они будут использовать ресурсы одного и того же физического устройства. Технология SoftAP в свою очередь позволяет перевести любой из виртуальных адаптеров в инфраструктурный режим (infrastructure mode), чтобы иметь возможность принимать подключения других беспроводных клиентов. Таким образом ноутбук легко превращается в хотспот для доступа в Сети, через который можно расшарить что угодно: имеющиеся WLAN-соединения (оцени прелести Virtual WiFi — мы уже подключены к беспроводной сети, но при этом сами являемся точкой доступа для других клиентов), подключение через 3G-модем, WiMax-адаптер или кабельный ethernet-интернет. Единственным требованием для использования этой фичи является поддержка Wireless Hosted Network драйверами беспроводного адаптера. К счастью, для многих (но, к сожалению, не для всех) старых адаптеров были выпущены обновления с поддержкой Wireless Hosted Network, а для современных это является стандартом де-факто. Более того, такая поддержка является обязательной, чтобы драйвер устройства мог получить значок совместимости с Windows 7. Поэтому если у тебя есть необходимость поднять виртуальный хотспот, то с большой вероятностью все получится.

4 кейса использования виртуального хотспота

1. Расшарить интернет.

Если на ноутбуке есть инет, то почему бы не поделиться им с другими беспроводными устройствами. Это особенно актуально, если в распоряжении есть USB 3G-модем с хорошей скоростью и дешевым трафиком. Если ты работаешь через платный хот-спот, где обычно осуществляется привязка к MAC-адресу, то это реальный способ не платить дважды и не проходить дурацкую процедуру авторизации через специальную страницу входа.

2. Расширить диапазон действия беспроводной сети.

Если на границе действия беспроводной сети расположить ноутбуки с запущенной программной точкой доступа, то они легко смогут выполнять роль ретрансляторов. Особенно хорошо это будет работать, если на виртуальных адаптерах склонировать параметры родительской Wi-Fi сети (в программе Connectify есть даже опция “Clone Wi-Fi Settings”). Тогда все сторонние устройства смогут переподключаться к “ретрансляторам” автоматически.

3. Поднять Rogue AP и снифать чужой трафик.

Мы уже не раз писали о том, как плохие парни могут поднять фейковую точку доступа и снифать весь трафик подключившихся к ней клиентов. Любой запущенный снифер вроде Wireshark, 0x4553-Intercepter или Network Miner отловит массу интересного. Для усиления эффекта поднимать хотспот лучше с помощью USB-донгла с внешней антенной, чтобы у точки доступа был более высокий (а значит, более выгодный для клиентов) уровень сигнала.

4. Безопасное туннелирование трафика.

К сожалению, далеко не все устройства умеют работать через VPN-соединение. И тем более через какой-нибудь OpenVPN или Tor. Но если поднять виртуальный хотспот, то весь трафик подключенных клиентов можно принудительно пустить как раз через защищенное подключение. Кейс особенно важен, если работа осуществляется в открытой сети.

Как использовать?

Даже если сильно поискать, то нигде, ни в настройках сетевого адаптера, ни где-либо еще, ты не найдешь такой функции, как Wireless Hosted Network. Ее там и нет. Сам Microsoft, вероятно, позиционирует это как фишку для продвинутых пользователей, поэтому заюзать ее можно только двумя путями: воспользоваться приложениями от сторонних разработчиков, которые применяют специальные API-вызовы системы (они хорошо описаны в MSDN), или использовать команды сетевого шелла netsh (network shell). Поскольку Netsh.exe встроен в систему по умолчанию, то это наиболее интересный вариант.

Шелл предлагает специальный набор команд для работы с беспроводной сетью. Полный список можно получить, если набрать в консоли “netsh wlan /?“. Сейчас для нас интерес представляют лишь те, которые относятся к размещенной сети.

Я привел все возможные команды, хотя для настройки программной точки доступа потребуются только несколько из них:

# Запустить или остановить беспроводную размещенную сеть
netsh wlan start|stop hostednetwork

Разрешить или запретить использование сети

netsh wlan set hostednetwork [mode=]allow|disallow

Задать параметры для размещения, а именно SSID, ключ

пользователя, режим использования ключа (постоянный/временный)

netsh wlan set hostednetwowrk [ssid=]<ssid> [key=]<passphrase> [keyUsage=]persistent|temporary

Обновить ключ для сети

netsh wlan refresh hostednetwork [data=] key

Отобразить информацию о размещенной сети, а также параметры

безопасности (в том числе используемый ключ)

netsh wlan show hostednetwork [[setting=]security]

Отобразить настройки беспроводной сети

netsh wlan show settings

Как настроить?

Перед тем как приступать к примеру, еще раз повторю: все, что необходимо для использования Wireless Hosted Network, — это ноутбук с адаптером, драйвера которого поддерживают функцию Virtual WiFi. Последнее очень важно: на моем стареньком Asus с интегрированным Intel 3945ABG виртуализация WLAN-адаптера не заработала даже с последними драйверами. Хотя обновить драйверы беспроводного модуля — это в любом случае первое, что нужно сделать.

Далее все проще простого.

  1. Открываем командную строку с правами администратора и через netsh.exe задаем настройки для нашей виртуальной беспроводной сети:

netsh wlan set hostednetwork mode=allow ssid="Virtual Hostpot" key="pass pass pass" keyUsage=persistent

Здесь “Virtual Hostpot” — SSID сети, “pass pass pass” — постоянный (используется режим “persistent”) пароль для подключения. Успешным выполнением команды можно считать появление в “Диспетчере устройств” нового девайса “Адаптер мини-порта виртуального WiFi Microsoft” в группе “Сетевые адаптеры”.

Не могу не сказать здесь пару слов о безопасности. Технология требует обязательного использования шифрования между нашей SoftAP и клиентами, которые будут подключены. По этой причине для последних обязательным требованием является поддержка шифрования WPA2-PSK/AES (это ограничение можно обойти с помощью сторонних утилит, но об этом ниже).

  1. Если перейти сейчас в “Панель управления -> Центр управления сетями и общим доступом -> Изменение параметров адаптера”, то мы увидим новое соединение со статусом “Нет подключения”. Все правильно, мы создали сеть, но еще не запустили ее. Устраняем это недоразумение:

netsh wlan start hostednetwork

  1. Все, с этого момента наша виртуальная точка доступа работает, а другие беспроводные устройства могут к ней подключиться. От такого подключения все-таки мало толку, пока мы не расшарим через него имеющийся в распоряжении интернет-канал. Для этого ищем в “Панели управления” соединение, через которое мы выходим в инет, открываем его свойства, переходим на вкладку “Доступ” и включаем опцию “Разрешить другим пользователям сети использовать подключение к интернету данного компьютера”.

В выпадающем списке необходимо выбрать сеть, для клиентов которой мы хотим расшарить инет, — соответственно, указываем здесь созданную нами с помощью Wireless Hosted Network беспроводную сеть. Такая весьма простая настройка включит встроенную в винду функцию Internet Connection Sharing (ICS).

Теперь всем подключаемым клиентам автоматически будет выдаваться IP-адрес (с помощью DHCP-сервера), а их выход в Сеть будет осуществляться через NAT (Network address translation).

Пробуем подключить к нашему хотспоту смартфон и другой ноутбук — вуаля, все работает!

Виртуальный хотспот в других ОС

Ubuntu

Единственной проблемой при создании хотспота на базе Linux, так же как и под Windows, может стать неподходящее оборудование. Чтобы выяснить, подходит твой девайс или нет, есть отличный ресурс: wireless.kernel.org. Если вбить в поле “Поиск” название своего беспроводного адаптера, то получишь полную информацию об имеющихся драйверах и поддерживаемых опциях. Заветные слова “Ad-Hoc Mode” в разделе “Working” — это хороший знак. Дальше в ход идут стандартные инструменты, о настройке которых подробно написано в wiki: help.ubuntu.ru/wiki/wifi_ap.

Mac OX X

В Mac OS X заставить работать стандартный адаптер в режиме Infrastructure, наверное, не выйдет. Но зато расшарить интернет для одного единственного клиента, который подключится к MacBook через беспроводную сеть можно, даже не залезая в консоль.

Как упростить жизнь?

Итак, чтобы поднять полноценный хотспот, нам понадобилось всего несколько команд в консоли и пара кликов мыши. Но спешу огорчить: сразу после перезагрузки или выхода из системы (даже в режим сна) все операции придется проделывать заново. Это неудобно и утомительно. К счастью, нашлось немало разработчиков, которые прочитали в MSDN статью о Wireless Hosted Network и реализовали утилиты для более простой и понятной настройки программного хотспота.

Я рекомендую две: Virtual Router и Connectify. Обе бесплатные и позволяют через удобный GUI-интерфейс выбрать подключение, которое нужно расшарить с помощью программной точки доступа, а затем в два клика поднять хотспот. При этом не нужно каждый раз вводить SSID и ключ сети: все будет работать даже после перезагрузки.

Virtual Router предоставляет минимум функционала и давно не развивается, зато распространяется с открытыми исходниками (хороший пример использования соответствующих API-вызовов системы). По сути, это графическая версия команд netsh.

Утилита Connectify — намного более навороченная. Для реализации дополнительных фишек, не предусмотренных стандартными возможностями винды, ей даже приходится устанавливать в систему виртуальные устройства и драйвера. И это дает плоды. К примеру, можно не привязывать к жестко зашитому Wireless Hosted Network типу шифрования WPA2-PSK/AES: если есть желание, создавай хоть открытый хотспот. Это особенно важно, чтобы клонировать параметры уже имеющейся беспроводной сети (например, чтобы расширить ее диапазон действия или поднять фейковую точку доступа). Помимо этого, Connectify имеет встроенный UPnP-сервер и позволяет расшарить VPN-соединение (в том числе OpenVPN). С такими-то возможностями твой виртуальный хотспот точно найдет применение.

Но чтобы было проще понять, в каких ситуациях он необходим, мы подготовили для тебя подборку наиболее популярных кейсов. Ты можешь прочитать о них во врезке.

Links

  • XyLuGaH

    А как взломать hotspot?

  • 12344444

    ТРЕБУЕТ ПОРОЛЬ ЧТО ДЕЛАТЬ?