Kezdőoldal » Számítástechnika » Egyéb kérdések » Lehetséges-e, hogy egy adott...

Spumifater kérdése:

Lehetséges-e, hogy egy adott android applikáció által küldött adatokat valahogyan rögzíteni vagy vizsgálni tudjak amit wifi-n küld?

Figyelt kérdés
Az applikáció egy eszközt irányít, azonban ezt egy másik módon szeretném megoldani. Ehhez tudnom kellene, hogy az app mit is küld adott funkcióhoz.

máj. 18. 19:18
 1/5 edemmester ***** válasza:
100%

Lehetségesnek persze hogy lehetséges, a dolog komplexitása a pontos helyzettől függ.


Ha feltelepítesz a gépre egy hálózatfigyelő programot, pl. WireShark, Fiddler, stb., a legtöbb hálózatfigyelőben van beépített proxy funkció is (de ha nincs, max egy proxyt is telepítesz mellé a gépedre), így nem csak az adott gép forgalmát tudod monitorozni, hanem bármi mást is amit keresztül küldesz rajta. Innentől nincs más teendő, mint a telefonon a wifi beállításoknál beállítani, hogy a gépedet használja proxyként, és már mehet is a hálózatfigyelés.


Megjegyzés #1: A feladat elvben megoldható gép nélkül is, de olyan igazán minőségi hálózatfigyelőt droidra még nem nagyon láttam amit úgy ajánlani is tudnék, meg eleve telefonon csomagokat bogarászni. Gépen jó esélyel kényelmesebb, de persze ha csak egy-két csomagot kell gyors elkapni, ez is lehet megoldás, nézz körül a Google Play-en. (Ezek a droid VPN funkcionalitását használják arra, hogy magukon keresztül irányítsák a forgalmat)


Megjegyzés #2: A proxy beállítás helyettesíthető azzal is, ha eleve a laptopodról megy a wifi hotspot és arra csatlakozik a telefon, de mivel nem tudom mi az eszköz amivel kommunikál az app, így nem tudom hogy ez reális lehetőség-e.


Megjegyzés #3: Természetesen a gépre telepített android emulátorban futó appot is gond nélkül tudod monitorozni a hálózatfigyelővel, szóval ha az emulátor opció, akkor ez is egy lehetőség.


Ez a megoldás önmagában tökéletesen jó, azonban van egy kis buktatója: az SSL. Manapság a legtöbb app ami webes, vagy akár lokális HTTP alapú APIt használ, azért többnyire már HTTPS-en csatlakozik a szerverhez. Ezen csomagok kibontása régebben nem volt különösebb gond -- feltelepítetted a hálózatfigyelőd/proxy-d CA tanúsítványát a telefonodra, és a hálózatfigyelő szépen kibontotta az összes csomagot, majd egy új, saját maga által aláírt kulcssal visszacsomagolta, és kész is. Az android viszont pár verzióval ezelőtt "bekeményített", és most már a felhasználó által telepített CA tanúsítványokat csak akkor engedi használni egy appnak, ha ahhoz az app kifejezetten hozzájárul. Ezzel ez a kiskapu bezárult.


Úgyhogy ha a hálózatfigyeléskor arra jutsz, hogy HTTPS a kapcsolat kicsomagolás szükséges, akkor vagy marad a telefon root-olás, vagy az emulátorba telepítés, esetleg valami régebbi android verzió ami még rugalmasabb volt ebben. Ez utóbbi problémát az sem oldja meg ha a telefonon futtatod a hálózatfigyelőt is, sajnos ez a limitáció ebben az esetben is él.


(Bármiként is cselekedsz, a projekthez felrakott CA tanúsítványt érdemes letörölni miután végeztél a munkával, mert rejthet biztonsági kockázatot)


Egyúttal egyébként nem tudom milyen eszközről van szó, de ha még nem volt meg, akkor persze érdemes egy kört guglizni is, sok eszköz vezérlését visszafejtették már.

máj. 18. 22:28
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Nincs erről a kommunikációról hivatalos dokumentáció?

Esetleg nem nyílt forráskódú a program?

WireShark és társai jó opciók, de ha titkosítva van az adat, akkor macerásabb visszafejteni az eredeti formájába, persze nem lehetetlen.


Reverse Engineering is egy opció, az alkalmazást visszafejted és megnézed mit rak össze a csomagban.

máj. 19. 02:22
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Edemmester! Nagyon köszönöm a kimerítő választ. A tartalmát tekintve nem lettem boldog, mert a leírtak alapján komoly gondom lett. Szóval konkretizálom az adott eszközt. Ez egy Tapo C200 okoskamera. Szeretném python scriptekkel irányítani és lekérni bizonyos adatokat. A gugli folyton ugyanazokat a lehetőségeket dobja fel, azonban ezek közül egy sem működött, hibával áll le az adott script. Leginkább "authentication data" az üzenet. Már több lehetőséget is kipróbáltam, sikertelenül.


Anonim ötletét még kipróbálom, vagyis a Reverse Engineering-et. Bár nem ismerem a programot. Talán egy próbát megér.

máj. 19. 10:29
 4/5 anonim ***** válasza:

Szóval amiket a google kidob github projektek ott mi a gond? Miért nem működnek? Milyen hibát ír ki?

Lehet azóta új verziód van és azért nem megy a script. Viszont azoknak a csomagjait tudod vizsgálni.

máj. 19. 15:17
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Köszönöm az eddigi segítséget!!!

Megvan a megoldás. Egy triviális hiba okozta az összes gondomat. Ez nem más mint figyelmetlenség. Adott az eszközhöz egy python modul. Ennek a read.me-jében ott van a megfejtés. Vagyis az, hogy a modul használatánál nem azok a videó-stream eléréséhez szükséges user-password combo kell, hanem a user="admin" és a tapo applikációba regisztráláskor használt jelszó. Így már tudom python-scriptekkel működtetni a kamerát.

máj. 20. 19:45

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!