Portál AbcLinuxu, 7. května 2025 01:05

Dotaz: Odesilani XML SMS pres LTE vodafone USB modem

2.3.2016 22:01 x.para | skóre: 11 | blog: x_para
Odesilani XML SMS pres LTE vodafone USB modem
Přečteno: 1205×
Odpovědět | Admin
Zdravim vsechny,

pouzivam K5150 LTE modem pripojeny do linux routeru. Ted se snazim rozchodit odesilani SMS pres XML post(y), ale nedari ze mi to. Podarilo se mi odchytit pres live headers post komunikaci, ale pokud postnu tyto xml requesty, tak to SMS neodesle. J tam parametr token, ktery nevim odkud se bere a myslim, ze to by mohl byt ten problem. Vypada to, ze je pro kazdy SMS XML post unikatni. nema s tim nekdo zkusenosti?

(rem: v prikladu jsem nahradil tagy <,> na {,} )
{?xml version='1.0' encoding='UTF-8'?}
{request}
{Index}-1{/Index}
{Phones}
    {Phone}725atd{/Phone}
{/Phones}
{Sca}{/Sca}
{Content}tst{/Content}
{Length}3{/Length}
{Reserved}1{/Reserved}
{Date}2016-03-02 21:42:16{/Date}
{token}68878{/token}
{/request}

{?xml version:'1.0' encoding='UTF-8'?}
{request}
{Index}-1{/Index}
{Phones}
    {Phone}725atd{/Phone}
{/Phones}
{Sca}{/Sca}
{Content}test{/Content}
{Length}4{/Length}
{Reserved}1{/Reserved}
{Date}2015-11-07 22:47:45{/Date}
{token}63183{/token}
{/request}
dik!

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.3.2016 22:17 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Odpovědět | | Sbalit | Link | Blokovat | Admin
ještě dodávám, že odpoved vzdy dorazi tato:
{?xml version="1.0" encoding="UTF-8"?}
{error}
{code}100002{/code}
{message}{/message}
{/error}
3.3.2016 15:18 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
tak se mi to podařilo napůl rozběhat.

curl -X POST --header "Content-Type:text/xml;charset=UTF-8" --data @send-sms.xml http://192.168.9.1/api/sms/send-sms

?xml version="1.0" encoding="UTF-8"? {response}OK{/response}

Pouzil jsem takto CURL a token, ktery jsem odposlechnul vcera, takze vypada ze se da pouzit i znovu, ale vubec netusim jak dlouho pujde "recyklovat" ":-/
xkucf03 avatar 12.3.2016 15:46 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem

Token (zřejmě jako ochrana před CSRF útokem) bude součástí stránky s formulářem, ze které se to normálně odesílá.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
12.3.2016 18:03 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Ano to si taky myslim, ze to bude ocharna, problem je ale v tom, ze v tom odesilacim formulari zadny pole "token" neni a ani jeho cislo. Problem je teda zjistit kde se bere. Mam nahranou celou HTTS komunikaci s tim modemem a vidim ze se pouze odesila POSTem

napriklad tady:
http://192.168.9.1/api/sms/sms-list

POST /api/sms/sms-list HTTP/1.1
Host: 192.168.9.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.9.1/html/home.htm
Content-Length: 228
Connection: keep-alive
?xml version='1.0' encoding='UTF-8'? request PageIndex 1 /PageIndex ReadCount 10 /ReadCount BoxType 1 /BoxType SortType0 /SortType Ascending 0 /Ascending UnreadPreferred 0 /UnreadPreferred token 68878 /token /request
HTTP/1.1 200 OK
Date: Thu, 01 Jan 1970 00:00:00 GMT
Server: mini_httpd/1.19 19dec2003
Connection: close
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 104
13.3.2016 12:59 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
To zaznamenanou komunikaci jste získal jak? To je nějaký specializovaný program? Podle hlavičky User-Agent to vypadá na normální Firefox – ten určitě neodesílá data POSTem jen tak sám od sebe, ale jedině z nějaké stránky, obvykle formuláře, který musíte nejprve otevřít. A zdroják té stránky tady nikde nevidím.

Jinak pod políčkem pro odeslání komentáře máte nápovědu k formátování, kde máte napsáno, jak se vkládají znaky < a >. Máte pro ně i tlačítka nad editorem. Nenuťte lidi, kteří vám chtějí poradit, ještě luštit váš kryptovaný zápis XML.
13.3.2016 19:17 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
klasicky přes doplněk Firefoxu Live HTTP Headers, a pak jsem to ověřoval přes tpcdump a nahrál přimo ty pakety, je to identické. Domnívám se, že ten FF skutečně POST odesílá, ten modem GUI je napsaný v podstatě celý v JS, takže ten asi ty POSTy má na svědomí.
POST /api/sms/sms-list 
<?xml version='1.0' encoding='UTF-8'?>
<request>
    <PageIndex>1</PageIndex>
    <ReadCount>10</ReadCount>
    <BoxType>1</BoxType>
    <SortType>0</SortType>
    <Ascending>0</Ascending>
    <UnreadPreferred>0</UnreadPreferred>
    <token>237549</token>
</request>
token jsem zjistil, že se po restrtu modemu změní a platí do dalšího restaru, jen kde si ho "slíznout" netuším. nemůžu tu aplikaci postavit na tom, že se bude pořád měnit token v kódu.

Tohle je nahrané přímo z tcp dumpu:

<?xml version='1.0' encoding='UTF-8'?>
<config>
    <setting>
    <module>quickstart</module>
    <item>smspreview</item>
    </setting>
    <token>237549</token>
</config>

13.3.2016 19:25 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Přidávám kompletní HTML odesílací SMS stránky modemu:

https://jsfiddle.net/n78w983d/
13.3.2016 19:42 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Ta stránka odkazuje na spoustu skriptů, které jste tam nepřiložil. Lepší je přikládat soubory přímo sem, za rok někdo bude řešit stejný problém, a ten váš externí odkaz už nejspíš nebude fungovat.

Zapněte si v prohlížeči vývojářskou konzoli (F12), zapauzujte si tam JavaScript a odešlete SMS. Debugger se vám zastaví na aktuálním kódu, což bude nejspíš ta odesílací funkce, a někde poblíž najdete i to načítání tokenu. A nebo pokud se to načítá ze serveru v tom konfiguračním XML, uvidíte tu adresu v tom TCP dumpu. Případně sem dejte (jako soubor) celou zaznamenanou komunikaci.
13.3.2016 19:30 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Takže to odesíláte z webového formuláře v prohlížeči? Pak ten token musí být na té stránce, nebo ho musí nějak generovat nebo získávat skript na té stránce. Ale když tu webovou stránku ani ty skripty neznáme, těžko vám můžeme poradit. V tom XML <config> ten token je, ne? To jste vzal kde? Proč sem tu komunikaci zaznamenanou TCP dumpem nedáte celou?
13.3.2016 20:30 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Standardne se ty SMS odesilaji z web formulare, ktery bezi na mini-http serveru primo na tom modemu. Cil teto akce je pokusit se odesilat SMS i tak, ze poslu POSTEM XML data na ten modem a budu simulovat ze uzavatel odeslal SMS. Cele mi to funguje pres CURL az na to ze se ten token pri kazdem restartu modemu zmeni. Prijdu na to tak ze pres HTTP headers posloucham komunikaci, po tom co odeslu z weboveho formulare dalsi SMS.

Ve forech treba tady jsem nasel zatim asi nejpodobnejsi situaci, kterou uz nekdo resil. Problem je v tom ze namaji stejny typ modemu. zkousel jsem jako oni curl -X GET http://192.168.8.1/api/webserver/token ale dostavam nejaky error code 100002 jakoby tam ten souubor token vubec neexistoval.

To GUI neustale dokolecka polluje asi 20 JS souboru a XML requestu a vysledky tech scriptu vypisuje na to GUI, takze tim je zajisteny live update jako jsou prenesana data, pocty SMS a podobny veci.

tady by meli byt snad vsechny JS, nebo nevim, v zivote jsem to nevidel:
wget  -qO- http://192.168.9.1/html/js/JsIncludesRepo.js
var jsIncludesRepo = [
    "js/ConnectionManager.js",
    "js/CallbackWrapper.js" ,
    "js/HTMLTemplates.js",
    "js/WebUIVersion.js",
    "js/SMS.js",
    "js/SMSCharCounter.js",
    "js/TagSubstitution.js",
    "js/simInfo.js",
    "js/opCoInfo.js",
    "js/accountFunctions.js",
    "js/PageLoader.js",
    "js/translator.js",
    "js/throbber.js",
    "js/UIUpdate.js",
    "js/UserNotification.js",
    "js/WifiShared.js",
    "js/WifiUIUpdate.js",
    "js/authentication.js",
    "js/moduleControls.js",
    "js/XmlCache.js",
    "js/moduleCache.js",
    "js/FileUploader.js",
    "js/GreekChar.js",
    "js/desktopView.js",
    "js/mobileView.js",
    "js/banner.js",
    "js/DeviceSpecificHomeImage.js",
    "js/memoPhoneNumber.js",
    "js/SMSMonitorOpCoSpecialNumbers.js",
    "js/accountInfo.js",
    "js/device.js",
    "js/home.js",
    "js/models/BaseModel.js",
    "js/models/simActivationModel.js",
    "js/models/networkDataModel.js",
    "js/models/networkInfoModel.js",
    "js/models/firmwareUpdateModel.js",
    "js/views/simActivationView.js",
    "js/views/networkDataView.js",
    "js/views/firmwareUpdateView.js",
    "js/models/guestUserData.js",
    "js/views/guestUserView.js",
    "js/views/networkInfoView.js",
    "js/views/roamingStatusView.js",
    "js/responseProxy.js",
    "js/requestProxy.js",
    "js/helpMobileWifi.js",
    "js/helpQuickstart.js"
dalsi vec netusim jak je stahnout wget mi pouze rekne Sorry, your browser does not support javascript. CURL to same.

tady jsou kompletni requesty od spusteni prohlizece az po odeslani SMS
#request# GET http://192.168.9.1/html/home.htm
GET /html/home.htm
#request# GET http://192.168.9.1/html/js/lib/jquery-1.8.3.min.js
#request# GET http://192.168.9.1/html/js/webuiconfig.js
#request# GET http://192.168.9.1/html/js/JsIncludesRepo.js
#request# GET http://192.168.9.1/html/js/WebUIProductName.js
#request# GET http://192.168.9.1/html/css/print-home.css
#request# GET http://192.168.9.1/html/css/throbber.css
#request# GET http://192.168.9.1/html/js/lib/log4javascript.js
GET /html/js/lib/jquery-1.8.3.min.js
GET /html/js/webuiconfig.js
GET /html/js/lib/log4javascript.js
GET /html/js/JsIncludesRepo.js
GET /html/js/WebUIProductName.js
GET /html/css/print-home.css
GET /html/css/throbber.css
#request# GET http://192.168.9.1/html/img/favicon/vodafone.png
#request# GET http://192.168.9.1/html/img/icons/caution.gif
#request# GET http://192.168.9.1/html/img/icons/arrowUpSpeed.gif
#request# GET http://192.168.9.1/html/img/icons/arrowDownSpeed.gif
#request# GET http://192.168.9.1/html/img/icons/loading.gif
#request# GET http://192.168.9.1/html/js/pages/allpages-min.js
GET /html/img/icons/caution.gif
GET /html/img/icons/arrowDownSpeed.gif
GET /html/img/icons/arrowUpSpeed.gif
GET /html/img/favicon/vodafone.png
GET /html/img/icons/loading.gif
GET /html/js/pages/allpages-min.js
#request# GET http://192.168.9.1/html/js/allwebui-min.js
GET /html/js/allwebui-min.js
#request# GET http://192.168.9.1/html/allpages-concat.htm
GET /html/allpages-concat.htm
#request# GET http://192.168.9.1/html/img/icons/SD-card.gif
#request# GET http://192.168.9.1/html/img/icons/tick.gif
#request# GET http://192.168.9.1/html/img/icons/VF_cloud.png
#request# GET http://192.168.9.1/html/js/vendorWifi.js?1457007929718
GET /html/img/icons/SD-card.gif
GET /html/img/icons/VF_cloud.png
GET /html/img/icons/tick.gif
GET /html/js/vendorWifi.js?1457007929718
#request# GET http://192.168.9.1/html/js/vendor.js?1457007929718
GET /html/js/vendor.js?1457007929718
#request# GET http://192.168.9.1/api/ussd/release
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/monitoring/status
GET /api/ussd/release
GET /api/device/information
#request# GET http://192.168.9.1/api/dhcp/settings
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dhcp/settings
#request# GET http://192.168.9.1/api/pin/status
GET /api/dialup/connection
GET /api/pin/status
#request# GET http://192.168.9.1/api/pin/status
GET /api/pin/status
#request# GET http://192.168.9.1/api/pin/status
GET /api/pin/status
#request# GET http://192.168.9.1/api/pin/simlock
GET /api/pin/simlock
#request# GET http://192.168.9.1/html/OpCo/23003.js?_=1457007932751
GET /html/OpCo/23003.js?_=1457007932751
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
#request# GET http://192.168.9.1/api/language/current-language
GET /api/language/current-language
#request# GET http://192.168.9.1/api/language/current-language
GET /api/dialup/profiles
GET /api/language/current-language
#request# HEAD http://192.168.9.1/html/Language/en-gb.js
HEAD /html/Language/en-gb.js
#request# GET http://192.168.9.1/html/Language/en-gb.js
GET /html/Language/en-gb.js
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/api/device/information
GET /api/monitoring/traffic-statistics
GET /api/device/information
#request# GET http://192.168.9.1/api/sms/newsms-count
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
GET /api/monitoring/status
GET /api/sms/newsms-count
#request# POST http://192.168.9.1/api/language/current-language
#request# GET http://192.168.9.1/html/modules/footer.htm
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
POST /api/language/current-language <?xml version='1.0' encoding='UTF-8'?><request><CurrentLanguage>en-gb</CurrentLanguage><token>68878</token></request>
GET /html/modules/footer.htm
#request# GET http://192.168.9.1/html/modules/header.htm
GET /html/modules/header.htm
#request# GET http://192.168.9.1/html/modules/topLinks.htm
GET /api/dialup/connection
GET /html/modules/topLinks.htm
#request# GET http://192.168.9.1/html/modules/menu.htm
GET /html/modules/menu.htm
#request# GET http://192.168.9.1/html/modules/warning.htm
GET /html/modules/warning.htm
#request# GET http://192.168.9.1/html/modules/lowBatteryWarning.htm
GET /html/modules/lowBatteryWarning.htm
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/html/desktopView.htm
#request# GET http://192.168.9.1/html/css/site-min.css
#request# GET http://192.168.9.1/html/css/desktop-min.css
GET /html/desktopView.htm
GET /html/css/site-min.css
GET /html/css/desktop-min.css
#request# GET http://192.168.9.1/html/img/backgrounds/body_bg_high.gif
GET /html/img/backgrounds/body_bg_high.gif
#request# GET http://192.168.9.1/html/img/favicon/vodafone.png
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/device/nv-configuration
GET /api/device/nv-configuration
#request# GET http://192.168.9.1/api/device/nv-configuration
GET /api/device/nv-configuration
#request# POST http://192.168.9.1/api/global/storage-getitem
POST /api/global/storage-getitem <?xml version='1.0' encoding='UTF-8'?><config><setting><module>quickstart</module><item>smspreview</item></setting><token>68878</token></config>
#request# POST http://192.168.9.1/api/global/storage-getitem
POST /api/global/storage-getitem <?xml version='1.0' encoding='UTF-8'?><config><setting><module>quickstart</module><item>smspreview</item></setting><token>68878</token></config>
#request# POST http://192.168.9.1/api/sms/sms-list
#request# GET http://192.168.9.1/api/dialup/connection
#request# POST http://192.168.9.1/api/global/storage-getitem
POST /api/sms/sms-list <?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>10</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred><token>68878</token></request>
#request# GET http://192.168.9.1/html/img/icons/miniGreenTick.gif
#request# GET http://192.168.9.1/api/dialup/profiles
POST /api/global/storage-getitem <?xml version='1.0' encoding='UTF-8'?><config><setting><module>quickstart</module><item>smspreview</item></setting><token>68878</token></config>
GET /api/dialup/connection
GET /html/img/icons/miniGreenTick.gif
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/html/img/tabs/tab_global_active_left.gif
#request# GET http://192.168.9.1/html/img/tabs/tab_global_active_right.gif
#request# GET http://192.168.9.1/html/img/tabs/tab_global_inactive_left.gif
#request# GET http://192.168.9.1/html/img/tabs/tab_global_inactive_right.gif
#request# GET http://192.168.9.1/html/img/menu/menu_bg.gif
#request# GET http://192.168.9.1/html/img/menu/logo.gif
#request# GET http://192.168.9.1/html/img/backgrounds/drop_shadow.gif
#request# GET http://192.168.9.1/html/img/backgrounds/gradient.gif
#request# GET http://192.168.9.1/html/img/buttons/btn_lightgrey_sprite.png
#request# GET http://192.168.9.1/html/img/backgrounds/sidebar_accordion_sprite.gif
#request# GET http://192.168.9.1/html/img/icons/signal3Bars.gif
#request# GET http://192.168.9.1/html/img/icons/connected_traffic.gif
#request# GET http://192.168.9.1/html/img/icons/time.gif
#request# GET http://192.168.9.1/html/img/landing/R210_heroimage.jpg
GET /html/img/tabs/tab_global_active_left.gif
GET /html/img/tabs/tab_global_active_right.gif
GET /html/img/tabs/tab_global_inactive_left.gif
GET /html/img/backgrounds/gradient.gif
GET /html/img/menu/menu_bg.gif
GET /html/img/menu/logo.gif
GET /html/img/backgrounds/drop_shadow.gif
GET /html/img/tabs/tab_global_inactive_right.gif
GET /html/img/buttons/btn_lightgrey_sprite.png
GET /html/img/backgrounds/sidebar_accordion_sprite.gif
GET /html/img/icons/time.gif
GET /html/img/icons/signal3Bars.gif
GET /html/img/icons/connected_traffic.gif
GET /html/img/landing/R210_heroimage.jpg
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/monitoring/status
GET /api/device/information
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dialup/connection
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# POST http://192.168.9.1/api/sms/sms-list
#request# GET http://192.168.9.1/api/sms/newsms-count
POST /api/sms/sms-list <?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>10</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred><token>68878</token></request>
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/sms/newsms-count
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/device/information
GET /api/monitoring/status
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dialup/connection
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/api/sms/newsms-count
GET /api/sms/newsms-count
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/device/information
GET /api/monitoring/status
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dialup/connection
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/html/img/buttons/btn_darkgreen_sprite.png
GET /html/img/buttons/btn_darkgreen_sprite.png
#request# GET http://192.168.9.1/api/device/information
GET /api/device/information
#request# GET http://192.168.9.1/api/sms/newsms-count
GET /api/sms/newsms-count
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/monitoring/status
GET /api/device/information
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dialup/connection
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/api/sms/newsms-count
GET /api/sms/newsms-count
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/monitoring/status
GET /api/device/information
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/dialup/connection
#request# GET http://192.168.9.1/html/img/buttons/btn_red_sprite.png
#request# POST http://192.168.9.1/api/sms/send-sms
GET /html/img/buttons/btn_red_sprite.png
POST /api/sms/send-sms <?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>7moje_cislo</Phone></Phones><Sca></Sca><Content>test</Content><Length>4</Length><Reserved>1</Reserved><Date>2016-03-03 13:25:52</Date><token>68878</token></request>
#request# GET http://192.168.9.1/api/device/information
GET /api/device/information
#request# GET http://192.168.9.1/api/sms/send-status
GET /api/sms/send-status
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# POST http://192.168.9.1/api/sms/sms-list
POST /api/sms/sms-list <?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>10</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred><token>68878</token></request>
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/dialup/profiles
GET /api/dialup/profiles
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics
#request# GET http://192.168.9.1/api/sms/newsms-count
#request# GET http://192.168.9.1/api/monitoring/status
#request# GET http://192.168.9.1/api/net/current-plmn
#request# GET http://192.168.9.1/api/device/information
GET /api/sms/newsms-count
GET /api/monitoring/status
GET /api/device/information
#request# GET http://192.168.9.1/api/device/information
GET /api/net/current-plmn
#request# GET http://192.168.9.1/api/dialup/connection
GET /api/device/information
GET /api/dialup/connection
#request# GET http://192.168.9.1/api/monitoring/traffic-statistics
GET /api/monitoring/traffic-statistics

xkucf03 avatar 13.3.2016 20:59 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Cele mi to funguje pres CURL az na to ze se ten token pri kazdem restartu modemu zmeni. Prijdu na to tak ze pres HTTP headers posloucham komunikaci, po tom co odeslu z weboveho formulare dalsi SMS.

A k tomu modemu se nějak přihlašuje nebo stačí přijít z vnitřní sítě? Jestli se přihlašuje, tak token bude pravděpodobně v první odpovědi po přihlášení. Jestli je to bez přihlášení, tak promaž cookies nebo použij jiný prohlížeč (nebo jiný profil ve Firefoxu) a přijď tam, jako bys byl nový uživatel – token ti musí někde (v prvních odpovědích) přijít, prohlížeč si ho z prstu nevycucal.

Teoreticky by se mohl token vypočítat na straně klienta v JavaScriptu na základě nějaké soli ze serveru… ale až takovou vědu bych v tom nehledal – nejdřív bych pečlivě prošel vše (včetně cookies a HTTP hlaviček), co přišlo ze serveru po vyčištění cookies/profilu.

BTW: Wireshark umí vyhledávat v paketech – zkoušel jsi tam zadat hodnotu tokenu? Ale je potřeba mít nachytané všechno od chvíli, kdy jsi tam přišel, jako bys byl nový uživatel (token se dost možná pošle jen jednou na začátku a pak si ho prohlížeč pamatuje v cookies nebo v nějakém úložišti).

dalsi vec netusim jak je stahnout wget mi pouze rekne Sorry, your browser does not support javascript. CURL to same.

Prostě se musíš tvářit jako nějaký známý www prohlížeč. K tomu slouží hlavička User-Agent:

$ cat bin/stahuj.sh 
#!/bin/bash

USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36";

wget -4 --user-agent="$USER_AGENT" "$@";
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
13.3.2016 21:36 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
OK, tak jsem to nahrál wiresharkem, dal jsem vyhledat fultextem cislo tokenu "237549" a poprve se stejne objevil v XML tagu "CurrentLanguage", cili stejne jako kdyz jsem to nachytal pres live HTTP headers. Pred tim jsem kompletne smazal cache browseru. Vypada to teda za je fakt mozny ze to posita klient nejakym JS na zaklade toho co prijde od serveru. Pokud je to teda takhle, tak to neni moc dobry-teda pro me protoze hledat to v tom JS se mi vubec nechce. Ten PCAP sem asi davat nebudu ;)

13.3.2016 21:42 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
jeste doplnim, na ten modem se vubec neprihlasuje a ten 1. packet kdy to prislo je tady:

No.     Time           Source                Destination           Protocol Length Info
   3320 28.766631      192.168.4.13          192.168.9.1           HTTP     611    POST /api/language/current-language HTTP/1.1  (application/x-www-form-urlencoded)

Frame 3320: 611 bytes on wire (4888 bits), 611 bytes captured (4888 bits) on interface 0
Ethernet II, Src: Apple_1d:24:d1 (28:cf:e9:1d:24:d1), Dst: Raspberr_71:4e:56 (b8:27:eb:71:4e:56)
Internet Protocol Version 4, Src: 192.168.4.13, Dst: 192.168.9.1
Transmission Control Protocol, Src Port: 50965 (50965), Dst Port: 80 (80), Seq: 4261, Ack: 392462, Len: 545
    Source Port: 50965
    Destination Port: 80
    [Stream index: 17]
    [TCP Segment Len: 545]
    Sequence number: 4261    (relative sequence number)
    [Next sequence number: 4806    (relative sequence number)]
    Acknowledgment number: 392462    (relative ack number)
    Header Length: 32 bytes
    Flags: 0x018 (PSH, ACK)
    Window size value: 4096
    [Calculated window size: 131072]
    [Window size scaling factor: 32]
    Checksum: 0xa0ae [validation disabled]
    Urgent pointer: 0
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
    [SEQ/ACK analysis]
Hypertext Transfer Protocol
    POST /api/language/current-language HTTP/1.1\r\n
        [Expert Info (Chat/Sequence): POST /api/language/current-language HTTP/1.1\r\n]
        Request Method: POST
        Request URI: /api/language/current-language
        Request Version: HTTP/1.1
    Host: 192.168.9.1\r\n
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0\r\n
    Accept: */*\r\n
    Accept-Language: en-US,en;q=0.5\r\n
    Accept-Encoding: gzip, deflate\r\n
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n
    X-Requested-With: XMLHttpRequest\r\n
    Referer: http://192.168.9.1/html/home.htm\r\n
    Content-Length: 118\r\n
        [Content length: 118]
    Connection: keep-alive\r\n
    \r\n
    [Full request URI: http://192.168.9.1/api/language/current-language]
    [HTTP request 14/14]
    [Prev request in frame: 2749]
HTML Form URL Encoded: application/x-www-form-urlencoded
    Form item: "<?xml version" = "'1.0' encoding='UTF-8'?><request><CurrentLanguage>en-gb</CurrentLanguage><token>237549</token></request>"
        Key: <?xml version
        Value: '1.0' encoding='UTF-8'?><request><CurrentLanguage>en-gb</CurrentLanguage><token>237549</token></request>
14.3.2016 07:01 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Ten PCAP sem asi davat nebudu ;)
Dobře, takže jediný způsob, jak vám můžeme pomoci, realizovat nechce. Takže to můžeme považovat za vyřešené.
14.3.2016 10:27 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
a co bezpečnost? já si vážím vaší pomoci a děkuji za ní (koneckonců jsem včera jako side-effekt ve wiresharku našel chybu v konfiguraci sitě o který jsem nevěděl). Nicméně když mi říkáte, že jsem musím dát kompletní pcap tracingu svojí sítě a že to jinak nejde, to se mi prostě nechce.
14.3.2016 13:58 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Nikdo po vás nechce kompletní sledování vaší sítě. Potřeba je jenom komunikace prohlížeče s tím serverem. Pokud se token od restartu serveru nemění, znamená to, že si prohlížeč ten token nějakou komunikací vyžádá (to je nejpravděpodobnější), nebo že si vyžádá nějaký údaj, ze kterého ten token odvodí. S největší pravděpodobností to bude jednoduchý GET nebo POST požadavek na nějaké URL, který vrátí nějaký konfigurační soubor, kde ten token bude uvedený.

To se dá zjistit buď ze záznamu komunikace prohlížeče s tím serverem (stačí zaznamenat síťovou komunikaci vašeho počítače na IP adresu a port toho serveru, nebo stačí zaznamenat celou komunikaci z prohlížeče, třeba z Firebugu), nebo se to dá zjistit analýzou té HTML stránky se všemi vloženými skripty (opět by stačilo z prohlížeče uložit kompletní stránku včetně všech skriptů). Vy jste sem nedal ani ten záznam síťové komunikace ani tu kompletní webovou stránku, a pořád dokola se točíme na tom, že se ten token někde posílá, a vy sem neustále vkládáte různé vybrané části komunikace a stránky, kde ten token není. To k ničemu nevede.
14.3.2016 14:28 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
OK chápu, to bylo spíš nedorozumění. Pak druhá část mých obav byla velikost souboru.

Vyfiltroval jsem všechny packety (full dump) mezi modemem a prohlížečem a je toho cca 423 000 řádků a asi 20MB soubor.

Jinak taky mi přijde že se tam musí odehrávat něco takového, jak popisujete, ale já to v tom prostě nemůžu najít. Mohu to tedy někam uložit a dát sem link, nebo jak to provésti?

14.3.2016 14:54 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Nejlepší je to přiložit jako přílohu ke komentáři, pokud tak velký soubor projde. Ten soubor je zkomprimovaný? Pokud to bude moc velké, nahrajte ten soubor někam jinam a sem dejte jenom link.
14.3.2016 14:12 NN
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Novejsi wirshark umi pro podobne pripady randomizovat nektera data..
14.3.2016 15:24 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Příloha:
Přikládám zkomprimovanou komunikaci z wireshark PCAP export, modem IP 192.168.9.1 <-> Browser
14.3.2016 15:58 Filip Jirsák
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Tam ale podle mne nejsou těla HTTP odpovědí, nevidím je tam ani zkomprimovaná… Ani jsem nevěděl, že lze z Wiresharku takovýhle výstup získat. Když máte tu komunikaci zachycenou, dejte ve Wiresharku File → Save As a zvolte formát „Wireshark/tcpdump/… -pcap“ nebo lépe Wireshark/… -pcapng“, tím se vyexportuje v binární podobě celá komunikace, a kdokoli si to může zase Wiresharkem otevřít.
Řešení 1× (x.para (tazatel))
14.3.2016 22:05 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
Takže ještě jednou sumarizace posledních příspěvků, došlo tady k více razntnímu promazáni než jsem chtěl. Myslím, že diskuze byla plodná a stojí za to, aby byla k dispozici dalším. Doufám, že jsem na nic nezapoměl.

Přikládám tedy komunikaci z wireshark PCAP export, modem IP 192.168.9.1 <-> Browser
Jste si jist, že to je opravdu jen komunikace prohlížeče s tím modemem? Připadá mi tam nějak hodně IP adres, SSL komunikace…

Jinak v tom výpisu je vidět, že se požaduje skript /html/js/vendor.js:

GET /html/js/vendor.js?1457900869179 HTTP/1.1

To 1457900869179 je unixtime v milisekundách, přidává se jen proto, aby se zabránilo kešování, myslím, že když ho vynecháte, server se s tím srovná.

V tom skriptu je pak na řádku asi 11:

var STR_AJAX_VALUE = "237549"; //token

To je podle mne ten token, který hledáte – a půjde získat jednoduchým regulárním výrazem, ani nemusíte parsovat ten JavaScript.
Měl jsem dát ve WS export po aplikaci filtru a ne "save as", pak hledat i "v packet bytes", ne jen v "packet details"

vše se tedy vyřešilo:
curl -s http://192.168.9.1/html/js/vendor.js | grep "//token" | cut -d "\"" -f 2
237549
Doporučuju příště vypnout promiskuitní mód (to jste možná udělal) a rovnou nastavit Capture filter na IP adresu a port, které vás zajímají. Pak se ani jiné pakety nezachytávají (resp. asi se po zachycení hned zahodí), takže to zaprvé nemůžete zveřejnit ani omylem, za druhé je pak vidíte jenom tu komunikaci, která vás zajímá. Ty módy, kdy se zachycuje všechno, se hodí pro analýzu síťových problémů, když potřebujete zjistit, co se na síti vlastně děje.
OK dobré vědět, jinak jak jsem psal včera, náhodou tím že jsem dělal capture na všechno jsem našel navíc chybu s tagovaním VLANy na switchy, takže i to jsem neplánovaně dořešil. Ještě jednou díky za pomoc a trpělivost.
14.3.2016 15:38 x.para | skóre: 11 | blog: x_para
Rozbalit Rozbalit vše Re: Odesilani XML SMS pres LTE vodafone USB modem
to je skvělé, ale zatím mi to vůbec nic neříka :) pokusím se na to podívat

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.