Shumaher’s_Blog@AlexZ.me

— yet another stupid personal weblog

Отправка USSD-запросов с Huawei E586 или Как получить пароль Сервис-Гида

МегаФон E586Уже больше месяца являюсь обладателем данного устройства (и наконец нормального интернета на даче), но что расстроило в первый же день после включения, это отсутствие в веб-интерфейсе роутера возможности отправки произвольных USSD-запросов.
В прошивке от МегаФона можно только проверить баланс, узнать свой номер и активировать карту оплаты. А мне нужно было отправить запрос на получение пароля к системе управления услугами (она же "Сервис-Гид").
Можно было бы, конечно, просто переставить SIM-карту в телефон и отправить соответствующую USSD-команду *105*00#.

Но это же совершенно не интересно и по-ламерски. :-) Поэтому мы (как обычно) пойдем другим путём.
Попытка внедрения измененного javasctipt'а с нужным USSD-запросом в веб-страницу админки ни по одному из бесчисленных мануалов не принесла результатов. Хотя если рабочий способ это сделать есть — это было бы гораздо проще, чем то, что будет описано далее.

Затем попробовал связаться с поддержкой МегаФона по мылу, описал проблему, через сутки ответили, что оказывается можно в качестве пароля установить PUK-код SIM-карты, и для этого надо звонить в абонентскую службу. Но на деле оказалось, что для тарифов с возможностью голосовых звонков они этого не делают, и что единственная возможность получить пароль — таки переставить SIM'ку.
Так что ТП врёт, и пользы от них как всегда никакой.
К счастью, есть ещё один способ: отправка USSD-запросов при помощи AT-команд модема.

Необходимый софт

Под Windows можно воспользоваться PuTTY или стандартным HyperTerminal (в WinXP и старше).

Но в этом случае в лог будут выводиться диагностические сообщения об уровне сигнала сети, а введённые команды наоборот не будут видны.

Поэтому лучше использовать специализированный Huawei Modem Terminal.

Отправлять команды нужно на COM-порт, который называется "HUAWEI Mobile Connect - 3G PC UI Interface". При этом после каждой перезагрузки компьютера или при переподключении устройства номер порта может меняться.
А также, на некоторых моделях модемов/роутеров Huawei отправлять команды нужно на один порт, а ответы смотреть с другого.

Под Linux для этого используется minicom, номер порта можно выяснить в выводе lsusb -v.

Или же:

echo -n "AT-command\r\n" > /dev/ttyUSB0

(устройство /dev/ttyUSB0 указано для примера)


AT-команды



AT-команда для отправки USSD-запроса:

AT+CUSD=1,"USSD-command",15



Проблема в том, что для модемов/роутеров Huawei USSD-команда должна быть PDU-кодирована, а ответ будет в кодировке UCS2.

Для конвертирования запроса можно использовать веб-сервис SMSTools3 PDU Converter:

SMSTools3 PDU Converter

Данный конвертер предназначен для кодирования SMS, поэтому в начале будет служебная информация, а нужный текст начинается с AA (это первая звездочка из исходного запроса *105*00#).

Альтернативы:



На основе этого скрипта я написал собственный скрипт ussd.shтолько для кодирования USSD-запросов в PDU и декодирования ответов из UCS2 в обычный текст в UTF8.
Этот скрипт НЕ отправляет команды в модем, а только конвертирует запросы/ответы. Отправлять нужно вручную при помощи программ, указанных выше.



Таким образом, нужная AT-команда для получения пароля Сервис-Гида имеет вид:

AT+CUSD=1,"AA18ACA682C146",15



После отправки команды придёт SMS с паролем, которую можно посмотреть через веб-интерфейс.



Не смотря на довольно длинный мануал, на самом деле получить пароль (или отправить какую-либо другую USSD-команду) этим способом можно гораздо быстрее, чем открывать роутер, доставать SIM-карту, вставлять её в обычный мобильный телефон, и после получения ответа вставлять SIM обратно.

VN:F [1.9.17_1161]
Rating: 5.0/5 (1 vote cast)
Отправка USSD-запросов с Huawei E586 или Как получить пароль Сервис-Гида, 5.0 out of 5 based on 1 rating
Оставьте свой комментарий




OpenID WordPress.com Yahoo

Это не спам.