Ga naar inhoud

iOS-capture

Vastleggen op een iPhone / iPad is altijd al een hoofdpijndossier geweest. Gewone tools vereisen meestal ofwel een jailbreak, of ze kunnen alleen een proxy opzetten (wat nog steeds betekent dat je een profiel en een certificaat moet installeren, en apps met certificate pinning kunnen dan nog steeds niet worden vastgelegd). iOS-capture biedt drie methodes zonder jailbreak, van “systeemverzoeken zien met nul configuratie” tot “volledig verkeer voor het hele apparaat” tot “volledige leesbare tekst voor één app.” Eén daarvan zal je doel raken.


  • Apparaat verbinden: gebruik een datakabel om de iPhone / iPad met de computer te verbinden, en tik dan op Vertrouwen op het apparaat.
  • Geen jailbreak nodig: alle drie de methodes zijn voor niet-gejailbreakte apparaten.
  • Compatibel met nieuwe systemen: nieuwere versies van iOS (inclusief iOS 17 en hoger) zijn overgestapt op een nieuw apparaatkanaal, en verbinden en vastleggen werken hier nog steeds.
  • Als hetzelfde apparaat ook op het netwerk verschijnt, kies dan het bijpassende USB-/netwerk-item.

Jouw behoefte Wat te gebruiken Wat je kunt zien Certificaat installeren / opnieuw ondertekenen nodig?
Snel zien welke HTTPS-verzoeken het systeem verstuurde (adres / status / headers) Capture op systeemniveau Werkt ook voor gewone apps (bij gewone apps is de body niet zichtbaar) Geen van beide; alleen een diagnostisch profiel
Al het verkeer voor het hele apparaat (inclusief niet-HTTP, handshake / SNI) NIC-capture Volledige data (standaard versleutelde tekst, op verzoek te ontsleutelen) Niet nodig om versleutelde tekst te bekijken; opnieuw ondertekenen alleen nodig om een specifieke app te ontsleutelen
De volledige leesbare uitwisseling (inclusief de body) van een bepaalde app Capture op applicatielaag Volledige leesbare tekst voor één app De doel-app moet opnieuw worden ondertekend met een ontwikkelcertificaat

Geen van de drie vereist een jailbreak. Capture op systeemniveau is bijzonder moeiteloos: zelfs voor gewone apps en App Store-apps zie je welke HTTPS-adressen ze aanroepen, iets wat gewone tools niet kunnen op een niet-gejailbreakte iPhone.


3. Capture op systeemniveau: het meest moeiteloos, werkt ook voor gewone apps

Section titled “3. Capture op systeemniveau: het meest moeiteloos, werkt ook voor gewone apps”

Wil je snel zien welke HTTPS-verzoeken deze iPhone heeft verstuurd, zonder een certificaat te installeren, een proxy op te zetten of met certificate pinning te maken te krijgen? Dit is de meest moeiteloze methode.

  • Toont een lijst van de HTTP(S)-transacties die het systeem verstuurt: verzoekmethode, volledige URL (het adres is leesbare tekst, zelfs voor HTTPS), statuscode, verzoekheaders en antwoordheaders.
  • Geen CA-certificaat te installeren, geen proxy op te zetten, geen certificate pinning om mee om te gaan.
  • Hoeveel je kunt zien wordt beperkt door de systeemdiagnoselogs zelf:
    • Gewone apps en App Store-apps: meestal zie je alleen het verzoekadres en de verzoekheaders.
    • Apps ondertekend met een ontwikkelcertificaat: je ziet de volledige verzoek-/antwoordbody.

Vereiste: je moet het bijbehorende apparaatdiagnoseprofiel installeren (eenmalig is genoeg).


Legt al het netwerkverkeer van het apparaat vast, ongeacht app of protocol, inclusief niet-HTTP QUIC en eigen protocollen.

  • Wat je standaard ziet: standaard is dit versleutelde pakketten + metadata (doeladres, poort en de SNI-hostnaam uit de TLS-handshake), genoeg om helder te zien “met welke plekken dit apparaat verbinding maakte en met welk protocol.”
  • Leesbare tekst willen: gebruik “Dit programma ontsleutelen” op de doel-app om zijn leesbare tekst te ontsleutelen; dit vereist dat de app opnieuw is ondertekend met een ontwikkelcertificaat.

5. Capture op applicatielaag: volledige leesbare tekst voor één app

Section titled “5. Capture op applicatielaag: volledige leesbare tekst voor één app”

Gericht op één app, verkrijgt deze methode de volledige leesbare tekst (inclusief de body) die de app verstuurt en ontvangt. Certificate pinning kan dit niet tegenhouden, omdat het van binnenuit de app leest.

  • Herstart het doelprogramma: je kunt de app eerst sluiten en opnieuw starten om ook het vroege opstartverkeer vast te leggen.
  • Zet “socketverkeer” aan als terugval wanneer leesbare tekst niet kan worden gedecodeerd: voor apps die statisch linken / een eigen bibliotheek gebruiken en waarvan de gebruikelijke methodes geen leesbare tekst kunnen verkrijgen, zet je deze schakelaar aan om een pad op lager niveau naar de data te nemen.
  • Alleen apps die opnieuw zijn ondertekend met een ontwikkelcertificaat zijn selecteerbaar in de app-lijst; de rest is grijs.

Vereiste: de doel-app moet opnieuw worden ondertekend met een ontwikkelcertificaat; App Store-apps en systeem-apps moeten eerst opnieuw worden ondertekend voordat ze als doel kunnen worden gebruikt.


Naast de drie methodes hierboven kan een iPhone / iPad ook proxy-capture gebruiken: richt de wifi-proxy van het apparaat op deze machine, installeer het root-certificaat, en je kunt HTTPS-leesbare tekst vastleggen net als op een computer en de volledige set aan herschrijf- en replaymogelijkheden gebruiken. Dit is geschikt voor het debuggen van apps die via de systeemproxy lopen, of scenario’s die op regels gebaseerde herschrijving / replay van mobiel verkeer vereisen.


  • Om snel te onderzoeken “welke endpoints een app aanriep en wat ze teruggaven” is capture op systeemniveau het makkelijkst, en zelfs gewone apps werken.
  • Om al het verkeer van het hele apparaat te zien (inclusief niet-HTTP), gebruik NIC-capture.
  • Als je de doel-app opnieuw kunt ondertekenen en de volledige leesbare body wilt, gebruik capture op applicatielaag.
  • Om tegelijk te bekijken en te bewerken (mobiele verzoeken herschrijven / opnieuw versturen), gebruik proxy-capture.

Terug naar Proxy-capture · Gerelateerd: Gegevens bekijken en decoderen · Certificaatbeheer en -installatie