jó munkát. Most csatlakoztatnia kell mobileszközét a mitmproxy-hoz, és hagynia kell, hogy csapdába ejtse a HTTP forgalmat.
https://docs.mitmproxy.org/stable/overview-getting-started/
- állítsa be a proxy a hálózaton a készüléken (a proxy IP az az IP, ahol fut a mitmproxy.
- látogasson el a http://mitm.it oldalra a mobileszköz böngészőjéből.
- telepítse a proxyt a mobileszköz típusa alapján.
OK, menjünk vissza a nyitott oldalra — http://127.0.0.1:8081/ — és indítsuk el a tesztelt alkalmazást. Láttad a forgalmat az alkalmazás és a háttér között? Bingó!
három alkalmazás létezik, amelyekkel a mitmproxy forgatókönyveket tud biztosítani:
- mitmproxy-ha szereted a terminálkonzolt, és csak szerver módban szeretnéd használni.
- mitmweb — ha inkább a weboldal alapú konzol.
- mitmdump-ha rögzíteni / visszajátszani szeretné a HTTP forgalmat.
a legtöbb funkció a három opcióval is elérhető. További információért keresse fel ezt a dokumentumot— https://docs.mitmproxy.org/archive/v4/concepts-options/
mit tartalmazott a tesztelés?
kezdjük a tesztelést. Először is meg kellett tudnom, hogy az alkalmazásunk kommunikált-e a háttérrendszerrel. Ez azt jelentette, hogy a tesztelő alkalmazást mobilon nyitották meg, a Szűrőmezőt pedig a mitmproxy web console-on.
a HTTP kérés és válasz várható volt. Ezután megnézhettem az összes részletet a jobb oldali panelen.
a mitmproxy alkalmazás használatakor ugyanazokat az adatokat tekinthetem meg, de egy másik konzol GUI-val.
a következő lépés néhány hamis adat szimulálása volt a kérés API-ban. A hozzájárulás API-n végzett munka után megváltoztattam a befejezettetszámításokat a kérelemben 100-ra, és megfigyeltem, mi történt.
a kérés URL-jét a lehallgatás mezőbe helyeztem, és az alkalmazást használtam az API-kérelem elindításához. Ezután láttam a kérést a mitmproxy-ban, különböző színekkel és egy ‘szünet’ ikonnal.
a jobb oldali panelen található kullancs gombra kattintva szerkesztő módba kerültem, ahol megváltoztathattam a befejezettetszámítások 100-ra a hasznos teherben.
rákattintottam a Folytatás gombra az áramlás lapon, amely ismét szüneteltette, mert az API-kérésre válaszul megszakad. Ideje ismét a Folytatás gombra kattintani.
siker! Ez telt el a 100 completedCalculation a backend, amely tudtam ellenőrizni.
lehetőség van a válaszadatok módosítására is.
így tudjuk használni mitmproxy hibakeresés a mobil app.
hiba keresése és jelentése
a mitmproxy használata közben hibát találtam és jelentettem. A diagnosztika futtatása előtt fejlesztőink a HTTP kérések részleteit akarták.
de hogyan tehettem ezt? Másoljam és illesszem be az összes kérés / válasz adatot a hibakezelő rendszerbe vagy egy fájlba, és osszam meg a fejlesztővel? Vagy van jobb út?
az alábbi parancsot futtattam a terminálon, amely elindította a felvételi módot.
mitmdump -w outfile
ezután megnyitottam az alkalmazást, és reprodukáltam a hiba kérdését. Miután a lépések befejeződtek, az összes forgalmi adat mentésre kerül “outfile”.
ezután megoszthattam ezt a fájlt a fejlesztőcsapattal, és egyszerűen futtathatták az alábbi parancsot a visszajátszáshoz.
mitmdump -nC outfile
további információkért lásd: https://docs.mitmproxy.org/stable/overview-features/#client-side-replay
Mit tehetek még a mitmproxy-val?
a mitmproxy-val kapcsolatos tapasztalataim elgondolkodtattak…
- hogyan szimulálhatok bonyolultabb forgatókönyveket és adatokat?
- Hogyan használhatom a mitmproxy-t az automatizálási teszt keretrendszerünkben?
ezekre a kérdésekre adott válaszokhoz Python szkript szükséges. Ha nem ismeri a Python, akkor lehet, hogy megtudja, hogy van egy add-on mmitmproxy amely képes együttműködni más nyelveken.
a következő Python szkriptet írtam, megpróbáltam elkapni egy kérést, majd átírtam a választ.
a mitmproxy elindításához a szkript segítségével az alábbi parancsokat használhatja:
mitmproxy -s proxy.pymitmweb -s proxy.pymitmdump -s proxy.py
nyissa meg az alkalmazást, folytassa a tesztelési lépéseket, és látni fogja, hogy a válasz újraírásra került.
automatizálási teszt keretrendszerünk a nodejs-en (Javascript) alapul, így a mitmproxy integrálásához a szkriptet egy alfolyamatban kell meghívnunk. Tudjon meg többet itt— https://docs.mitmproxy.org/stable/addons-scripting/
záró gondolatok
ne feledje, hogy ez a cikk csak a mitmproxy legalapvetőbb funkcióit tárgyalja. Számos speciális funkció van, amelyekről nem beszéltem.
amikor ingyenes és nyílt forráskódú eszközökről beszélünk, természetes, hogy azt feltételezzük, hogy nehezen használhatók, instabilak és nem rendelkeznek elegendő dokumentációval.
de éreztem-e így a mitmproxy-t? Egyáltalán nem.
könnyű vele közlekedni, az idő 99% – ában megbízható és nagyon rugalmas. Is, ez ingyenes!
remélem tetszett ez a bevezetés mitmproxy. Jó lenne hallani a gondolatait, ha te is próbáltad.