Verkkoliikenteen tarkastaminen Androidissa

Android-kehittäjänä haluan tarkastaa verkkoliikennettä Android-laitteessani. Omien sovellusten kanssa on itse asiassa paljon työkaluja, jotka auttavat sinua debuggaamaan HTTP(s)-liikennettä. Miten voit kuitenkin valvoa muita eri sovelluksia, kuten esim: Tämä artikkeli auttaa sinua tekemään sen käyttämällä mitmproxy-työkalua.

Lyhyesti sanottuna mitmproxy on interaktiivinen man-in-the-middle-välityspalvelin HTTP:lle ja HTTPS:lle, jossa on konsolikäyttöliittymä, ja mikä tärkeintä, se on ilmainen!

Voit lukea tämän dokumentin ymmärtääksesi, miten se toimii.

Edellytykset

  • Mitmproxy-työkalu
  • Android-emulaattori root-oikeuksilla

Tärkeä huomautus: Kun luot emulaattoria, sinun on valittava ”(Google APIs)” kohdekenttään ”(Google APIs)” kohde (android-versio) äläkä valitse kohdekenttään ”(Google Play)”, tai muuten et saa adb-root-oikeuksia.

Idea

Asennetaan mitmproxy CA-varmenne manuaalisesti käyttäjän lisäämänä CA:na ja valmis!

Valitettavasti Android 7:stä lähtien sovellukset eivät huomioi käyttäjän lisäämiä CA:ita , ellei niitä ole määritetty käyttämään niitä. Ja useimmat sovellukset eivät nimenomaisesti valitse käyttäjän varmenteiden käyttöä. Meidän on siis sijoitettava mitmproxy CA -varmenteemme järjestelmän varmennesäilöön luotettavana CA:na.

Aloitetaan nyt!

Luo mitmproxy-varmenne

  • Asenna mitmproxy
brew install mitmproxy
  • Luo varmenne
mitmproxy

Nimeä varmenne

  • Seuraa varmenne-kansiota
cd ~/.mitmproxy/
  • CA-varmenteet tallennetaan Androidissa niiden hash-nimen mukaan, jossa on ’0’ laajennusmerkkinä. Luo nyt varmenteesi hash
openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer | head -1
  • Esimerkiksi, tuloste on hash_value.Voidaan nyt kopioida mitmproxy-ca-cert.cer osoitteeseen hash_value.0 ja järjestelmävarmenteemme on valmis käytettäväksi
cp mitmproxy-ca-cert.cer hash_value.0

Sisällytä varmenne järjestelmävarmenteiden varastoon

  • Enter Android SDK:n sisällä olevaan emulaattorikansioon
cd .../Android/SDK/emulator/
  • Luettelo AVD:stä emulator -list-avds
./emulator -list-avds
  • Käynnistä android-emulaattorisi -writable-system-vaihtoehdolla kohdassa jotta voit kirjoittaa/system
./emulator -avd <avd_name_here> -writable-system
  • Käynnistä adb pääkäyttäjänä
adb root
  • Lisää järjestelmäosio kirjoituskelpoiseksi
adb shell "mount -o rw,remount /"
  • Työnnä järjestelmäsi varmenne järjestelmän varmennevarastoon ja aseta tiedoston käyttöoikeudet
adb push ~/.mitmproxy/hash_value.0 /system/etc/security/cacerts
adb shell "chmod 664 /system/etc/security/cacerts/hash_value.0"
  • Käynnistä emulaattori uudelleen
adb reboot

Nyt olemme asentaneet CA-varmenteen emulaattoriin.

Aseta välityspalvelin emulaattoriin

  • Avaa emulaattorin asetukset, lisää manuaalinen välityspalvelin, jonka hostname: 127.0.0.0.1 ja portti 8080

Käynnistä työkalu ja katso taika!

Voit käynnistää terminaalista minkä tahansa kolmesta työkalusta:

  • mitmproxy -> antaa interaktiivisen TUI:n
  • mitmdump -> antaa pelkän ja yksinkertaisen terminaalitulosteen
  • mitmweb -> antaa selainpohjaisen graafisen käyttöliittymän

Avaan esimerkiksi Youtuben sovelluksen ja tarkkailen liikennettä alla olevan mukaisesti.

  • Käynnistä mitmproxy

  • Käynnistä mitmweb nähdäksesi API:n tiedot

.

Voila!

Jätä kommentti