a hálózati forgalom ellenőrzése a mitmproxy használatával

author
6 minutes, 30 seconds Read

a modern alkalmazások többsége API-kra támaszkodik. “- Hogyan férhetek hozzá a katalógusához ? – Itt egy API erre. “Az API-k mindenhol ott vannak, és ez nem fog változni.

a kód egyes részeinek külön szolgáltatásokra bontása (gyakran) jó, de a tesztelés során ez a szétválasztás kissé megnehezítheti a dolgokat.

a Front-end alkalmazások fejlesztői már nem írják meg azt a kódot, amely gondoskodik az alapvető üzleti logikáról. Általában összetett adatfeldolgozási feladatokat végeznek API-oldalon, és a front-end alkalmazásoknak csak meg kell jeleníteniük az API által biztosított adatokat.

ezért olyan fontos, hogy vissza tudjuk követni az adatútvonalat az alkalmazásból az API-ba. Amikor egy alkalmazást tesztel és validál, a következő kérdések megválaszolása elengedhetetlen :

  • milyen API-végpont(oka) t használ az alkalmazás ehhez a képernyőhöz ?
  • mit tartalmaz az API által adott válasz ?
  • mi történik, ha az API válaszstruktúrája megváltozik ?

az oktatóanyag végére képesnek kell lennie a mitmproxy használatára a kérdések megválaszolására. De látni fogja, hogy még sok más dolog van ezzel a csodálatos eszközzel.

hogyan működik a mitmproxy

mielőtt elkezdenénk…

lehet, hogy azon gondolkodik, miért érdemes a mitmproxy-t használni egy másik eszköz helyett. És ez egy jó kérdés (ne kövesse a hype-t!).

az első érvem az ár : a mitmproxy ingyenes (MIT licenc alatt kiadva), amikor a Charles Proxy licence körülbelül 50 dollárba kerül.

szintén mitmproxy egy nagyon hatékony eszköz : nem csak lehetőséget ad a forgalom átírására, hanem lehetővé teszi Python szkriptek futtatását a kérések és válaszok megváltoztatására. Ez nagyon hasznos, ha megpróbálja tesztelni edge-esetek.

a befejezéshez a mitmproxy bárhol futtatható webes felületen vagy parancssorban : a kontextustól függetlenül jó esély van arra, hogy használni tudja.

telepítés

a mitmproxy telepítésének többféle módja van. A brew használata a “szokásos” módszer, de én személy szerint inkább a Dockeren keresztül használom : megakadályozza, hogy a Python verziókkal foglalkozzak, és segít a Mac tisztán tartásában is. Sőt, nagyon könnyű megtenni, és nincs szükség különösebb Docker ismeretekre.

a telepítéshez nyugodtan válasszon bármilyen módszert, amellyel a legkényelmesebbnek érzi magát.

a brew használata

ha a Brew már telepítve van a számítógépére, és ha minden jól megy, akkor ennek az egyszerű parancsnak a futtatása elegendő a munka elvégzéséhez:

brew install mitmproxy

a mitmproxy telepítése után közvetlenül ugorhat a futtassuk a mitmproxy részt.

a Docker használata

a mitmproxy futtatása a hivatalos Docker kép használatával olyan egyszerű, mint a következő parancs végrehajtása :

docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy:4.0.4

annak elkerülése érdekében, hogy minden alkalommal telepítenie kell a mitmproxy tanúsítványait a teszteszközökre, erősen ajánlott megosztani a tároló tanúsítványmappáját egy helyi mappával (a -v param használatával).

ily módon a tanúsítványok akkor is megmaradnak, ha a Docker tárolót megölték.

docker run --rm -it -v /your/local/folder:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy:4.0.4

a parancs használatának egyszerűsítése érdekében adjon hozzá egy álnevet a ~/.bash_profile :

alias mitmproxy='docker run --rm -it -v /your/local/folder:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy:4.0.4'

ne felejtse el végrehajtani a source ~/.bash_profile parancsot, miután szerkesztette a fájlt.

futtassuk a mitmproxy-t

nem számít, hogyan telepítette, most már képesnek kell lennie a mitmproxy indítására a következő paranccsal :

mitmproxy

ha a program elindul, akkor gratulálok! Folytathatod!

a mitmproxy életben van

Hálózati beállítások a céleszközön

a mitmproxy fordított proxyként, átlátszó proxyként vagy normál proxyként futtatható. Ahhoz, hogy a dolgok egyszerűek legyenek, rendszeres proxyként fogjuk használni.

a program ilyen módon történő használata minden bizonnyal könnyebb, de ez azt jelenti, hogy megváltoztathatja a céleszköz hálózati beállításait a proxy beállításához.

ez nagyon egyszerű, ha iOS vagy Android eszköz kéréseit kell megvizsgálnia, de bonyolultabbá válik azokkal az eszközökkel, amelyek nem nyújtanak speciális beállításokat a hálózathoz.

a céleszköztől függően kövesse a megfelelő al-oktatóanyagot :

  • proxy beállítása iOS-eszközön
  • proxy beállítása Android-eszközön
  • proxy beállítása tvOS-eszközön

az önaláírt tanúsítvány telepítése

ebben a pillanatban, ha elindítja a mitmproxy-t, az eszköz elfogadja a HTTP-forgalmat, de elutasít minden olyan HTTPS-kérést, amely nem közvetlenül a a szerver. Az ok egyszerű: a készülék nem fogad el semmilyen önaláírt tanúsítványt, hacsak nem kéri.

a HTTPS kérések elfogásához be kell állítanunk a mitmproxy által használt tanúsítványt a céleszközön. Ez lehetővé teszi a készülék számára, hogy a valódi szerver helyett a számítógépről érkező biztonságos kéréseket fogadjon el.

az önaláírt tanúsítvány telepítésének bonyolultsága valóban az ellenőrizni kívánt eszköz jellegétől függ. Alapvetően a “nagyon egyszerű” – ről a “nem lehetséges” – re megy.

a céleszköztől függően kövesse a megfelelő al-oktatóanyagot :

  • önaláírt tanúsítvány telepítése iOS-eszközre
  • önaláírt tanúsítvány telepítése Android-eszközre
  • önaláírt tanúsítvány telepítése tvOS-eszközre

tanúsítvány

Let ‘ s intercept calls

a tanúsítvány telepítése után készen áll a hívások lehallgatására. Meg lehet kezdeni mitmproxy ismét használja :

mitmproxy

a céleszközön nyisson meg egy alkalmazást, és ellenőrizze, hogy új vonalak jelennek-e meg a terminálon.

mitmproxy

ha kéréseket lát, akkor gratulálok! Minden be van állítva, és elkezdheti ellenőrizni a telefonján vagy táblagépén átmenő webes forgalmat.

hibaelhárítás

ha semmi sem jelenik meg, és úgy tűnik, hogy a céleszköznek nincs internetkapcsolata, itt van néhány dolog, amit ellenőriznie kell :

  • mind a számítógép fut mitmproxy és a céleszköz ugyanazon a hálózaton ?
  • megpróbálta újraindítani a mitmproxy-t ?
  • helyesen vannak beállítva a Proxybeállítások a céleszközön ?
  • engedélyezte az önaláírt tanúsítványt a céleszközön ?

tovább

most már mindent tudnia kell, amire szüksége van a mitmproxy telepítéséhez és a céleszköz konfigurálásához. Ha tovább akarsz menni, nézd meg a következő bejegyzéseket :

  • Hasznos tippek mitmproxy
  • létrehozása szkriptek mitmproxy

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.