[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
HiLink API dla urządzeń Huawei
30-12-2020, 11:13
Post: #41
HiLink API dla urządzeń Huawei
Na GitHubie można znaleźć nawet biblioteki Pythonowe do obsługi API HiLinka, trzeba tylko poszukać i pogrzebać. Wszystko jest opisane tylko pewnie nie gołymi słowami.
Wiem, że po zalogowaniu dostajemy token, którym trzeba się potem posługiwać jakoś specyficznie, ale sam tego nie robiłem.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
30-12-2020, 15:23 (Ten post był ostatnio modyfikowany: 30-12-2020 16:14 przez szopen.)
Post: #42
HiLink API dla urządzeń Huawei
Z pewnością można, bo wykresy siły sygnału Huawei'a, które wrzucałem w innym wątku pochodzą z HA, a konkretniej z integracji Huawei LTE, która właśnie korzysta z API (ale ta integracja służy głównie wizualizacji i oczywiście nie obsługuje USSD na obecnym etapie rozwoju, choć SMS'y są):
https://github.com/home-assistant/core/t...huawei_lte

Statystyki Folding@home
[Obrazek: sigimage.php?un=szopen&t=247478]
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
30-12-2020, 22:15 (Ten post był ostatnio modyfikowany: 31-12-2020 11:30 przez Theofilos.)
Post: #43
RE: HiLink API dla urządzeń Huawei
Ponieważ nie mam Linuksa w sieci z routerem, to napisałem (przepisałem) krótki skrypcik w index.php, który zwraca kod/zmienną firstnonce.
Kod:
<?php
$ctx = hash_init('sha256');
hash_update($ctx, time().date("-m-d H:i:s"));
echo hash_final($ctx);
?>
Jest on w katalogu firstNonce na zewnętrznym serwerze.
Wcześniejsze komendy dotyczące tokena i identyfikatora sesji pozostają bez zmian.
Dodałem polecenia
Kod:
curl http://serwer.www.pl/firstNonce/ > fN.txt
set /p firstNonce= < fN.txt
curl -X POST -d "<request><username>admin</username><firstnonce>"%firstNonce%"</firstnonce><mode>1</mode></request>" http://192.168.8.1/api/user/challenge_login -H "%ses%" -H "%tok%" -H "Content-Type: text/xml"
W odpowiedzi dostałem
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<salt>[kod salt]</salt>
<modeselected>1</modeselected>
<servernonce>[kod servernonce]</servernonce>
<newType>0</newType>
<iterations>100</iterations>
</response>
W kolejnym kroku procesu logowania wywoływane jest
http://192.168.8.1/api/user/authentication_login
gdzie token jest inny i brany z otrzymanej odpowiedzi, a w zapytaniu POST w miejsce kodu finalnonce wstawia się kod servernonce.

Natomiast przy wywołaniu
Kod:
curl -X POST -d "<request><username>admin</username><firstnonce>"%firstNonce%"</firstnonce><mode>1</mode></request>" http://192.168.8.1/api/user/login -H "%ses%" -H "%tok%" -H "Content-Type: text/xml"
otrzymuję odpowiedź
Kod:
<?xml version="1.0" encoding="UTF-8"?><response>OK</response>

Tyle udało się na razie zrobić.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
01-01-2021, 19:25
Post: #44
RE: HiLink API dla urządzeń Huawei
W prymitywny sposób (jak poprzednio) całą procedurę uzyskiwania wartości zmiennej clientproof zrobiłem w zewnętrznym skrypcie PHP.

Udało się też autoryzować z poziomu konsoli Windows przez wywołanie authentication_login
Kod:
curl -X POST -d "<request><clientproof>%clientproof%</clientproof><finalnonce>%serw%</finalnonce></request>" -i http://192.168.8.1/api/user/authentication_login -H "%ses%" -H "%tok2%" -H "Content-Type: text/xml"
Oczywiście ze zmienionym tokenem (tok2) wyciągniętym z nagłówka odpowiedzi po wywołaniu challenge_login.
Odpowiedź z wywołania authentication_login ustawiła też nowy identyfikator sesji (ses2).
Mimo jego użycia
Kod:
curl -X POST -d "<request><content>*121#</content></request>" http://192.168.8.1/api/ussd/send -H "%ses2%" -H "%tok2%" -H "Content-Type: text/xml"
nadal jest zwracany błąd 125002, czyli błąd (błąd sesji - przeterminowany SessionID).
Na razie nie mam pomysłu jak rozwiązać wysyłanie kodów USSD.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
01-01-2021, 22:38 (Ten post był ostatnio modyfikowany: 01-01-2021 22:38 przez Theofilos.)
Post: #45
RE: HiLink API dla urządzeń Huawei
Niestety nie sprawdziłem wcześniej, czy modu jest włączony.
Okazuje się, że po wydaniu polecenia
Kod:
curl http://192.168.8.1/api/global/module-switch
że, między innymi, <ussd_enabled>0</ussd_enabled>
Nie wiem jak to włączyć, ale może się okazać niemożliwe, ze względu na ustawienie w jakimś pliku konfiguracyjnym, do którego nie ma dostępu.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
02-01-2021, 17:53
Post: #46
HiLink API dla urządzeń Huawei
Zawsze się można wbić do systemu operacyjnego niskopoziomowo i po prostu włączyć. Pytanie, czy druga strona (system czasu rzeczywistego odpowiedzialny za komunikację z siecią komórkową takie polecenie przyjmie).
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
02-01-2021, 23:17
Post: #47
RE: HiLink API dla urządzeń Huawei
Jak to zrobić?
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
02-01-2021, 23:29 (Ten post był ostatnio modyfikowany: 03-01-2021 00:20 przez szopen.)
Post: #48
HiLink API dla urządzeń Huawei
Jeśli można coś zrobić niesztampowego z tym sprzętem to na 99% znajdziesz to opisane tam:
https://4pda.ru/forum/index.php?showtopic=979117
(niewiele jest w porównaniu do starszych modeli, więc pozostaje poczekać, może coś ciekawego się jeszcze pojawi w najbliższych latach)
Generalnie to co opisuje Jakub wymaga zmodyfikowanego firmware, na fabrycznym nie widzę szans (możesz poczytać np. o B315 czy innych starszych modelach by zobaczyć o co chodzi).

Statystyki Folding@home
[Obrazek: sigimage.php?un=szopen&amp;t=247478]
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Huawei E3276 brak modemu RAS jest tylko karta sieciowa NDIS Krystyna z gazowni 11 26 935 19-01-2018 13:37
Ostatni post: Krystyna z gazowni
  Huawei E3276 nie rozpoznaje Sieci Aero2- uszkodzona Antena ? AdamK 10 34 954 19-01-2018 10:36
Ostatni post: jakubd
  huawei e3531 s2 nie przełancza automatycznie sieci po zmianie karty? Lorek 14 32 886 11-11-2017 10:46
Ostatni post: Lorek
  huawei e372 vs Huawei E3531 Lorek 13 38 021 08-03-2017 07:19
Ostatni post: jakubd
Lightbulb Wymuszanie UMTS 900 MHz w modemach Huawei jakubd 185 525 764 04-02-2017 18:11
Ostatni post: jakubd