Przejdź do głównej zawartości

Przechwytywanie na Androidzie

Przechwytywanie HTTPS na Androidzie za pomocą proxy często utyka na etapie „certyfikat jest zainstalowany, ale aplikacja i tak go nie akceptuje”. W nowszych systemach aplikacje domyślnie nie ufają certyfikatom użytkownika, a aplikacji stosujących przypinanie certyfikatu nie da się przechwycić w ogóle. Przechwytywanie na Androidzie działa inaczej: przechwytuje ruch całego urządzenia z automatycznym odszyfrowaniem i bez instalowania jakiegokolwiek certyfikatu na telefonie na żadnym etapie. Obsługiwane są zarówno urządzenia fizyczne, jak i emulatory, a nawet w przypadku aplikacji z przypinaniem certyfikatu lub własnym szyfrowaniem tekst jawny jest odczytywany od wewnątrz.


  • Podłącz urządzenie: połącz je z komputerem kablem do transmisji danych i włącz debugowanie USB; emulatory zwykle są wykrywane automatycznie.
  • Wymagany root: wszystkie trzy metody wymagają zrootowanego urządzenia.
  • Brak certyfikatu do zainstalowania: żadna z nich nie jest metodą proxy typu man-in-the-middle, więc nie trzeba instalować żadnego certyfikatu na telefonie, co jest właśnie powodem, dla którego są one wygodniejsze niż przechwytywanie przez proxy na Androidzie. Gdy certyfikat jest jednak potrzebny, na zrootowanym urządzeniu można też automatycznie zainstalować zaufany certyfikat, oszczędzając sobie ręcznych kroków.
  • Działa od razu: pomocnicze komponenty potrzebne do przechwytywania są pobierane i buforowane automatycznie na podstawie architektury urządzenia, bez ręcznej konfiguracji środowiska po Twojej stronie.

Przechwytywanie ruchu wewnątrz emulatora Androida na komputerze przebiega niemal tak samo jak przechwytywanie na urządzeniu fizycznym, a często jest nawet prostsze:

  • Automatyczne wykrywanie: emulatory popularnych marek są wykrywane automatycznie, bez kabla do transmisji danych i bez ręcznego łączenia (tylko urządzenia fizyczne wymagają USB).
  • Zwykle już zrootowane: emulatory zazwyczaj są dostarczane ze zrootowanym systemem lub można je zrootować jednym kliknięciem, co wygodnie spełnia wymóg przechwytywania.
  • Preferuj „klucz NIC”: jądro systemu emulatora bywa starsze i może nie obsługiwać „przechwytywania NIC”, więc wystarczy wybrać klucz NIC, który ma najlepszą zgodność z emulatorami.

Cała reszta jest taka sama jak w przypadku urządzenia fizycznego: wybierz urządzenie-emulator i przechwytuj za pomocą metod opisanych poniżej.


Twoja sytuacja Której użyć Uwagi
Starsze urządzenie / emulator / nie masz pewności, jak nowe Klucz NIC (zalecane domyślnie) Najlepsza zgodność; działa niemal na każdym zrootowanym urządzeniu
Nowsze zrootowane urządzenie fizyczne Przechwytywanie NIC Najłatwiejsze, samowystarczalne
Interesuje Cię tylko jedna aplikacja lub nie da się jej odszyfrować w trybie NIC Przechwytywanie w warstwie aplikacji Odczytuje tekst jawny z wnętrza aplikacji, radząc sobie z przypinaniem certyfikatu / własnym szyfrowaniem

Dwie pierwsze metody to przechwytywanie ruchu całego urządzenia z automatycznym odszyfrowaniem i bez instalowania certyfikatu; trzecia celuje w pojedynczą aplikację i radzi sobie nawet z najbardziej ufortyfikowanymi.


Przechwytuje cały ruch na karcie sieciowej urządzenia (domyślnie Wi-Fi) i automatycznie go odszyfrowuje, bez potrzeby wskazywania konkretnej aplikacji i bez instalowania certyfikatu.

  • Najlepsza zgodność: nie jest wybredny wobec jądra, a starsze urządzenia i różne emulatory działają bez problemu, co jest jego największą przewagą nad przechwytywaniem NIC. Gdy nie masz pewności, jak nowe jest urządzenie, jest to najbezpieczniejszy wybór.
  • Kilka aplikacji może pokazywać tylko tekst zaszyfrowany: pojedyncze aplikacje, które dołączają niestandardowe komponenty szyfrujące, mogą mieć ruch, którego nie da się odszyfrować; w takim przypadku przełącz się na przechwytywanie w warstwie aplikacji opisane poniżej, aby obsłużyć to precyzyjnie.

Jak używać: wybierz urządzenie → wybierz kartę sieciową (domyślnie Wi-Fi) → rozpocznij przechwytywanie.


Również przechwytuje cały ruch na karcie sieciowej urządzenia i automatycznie go odszyfrowuje. Wyróżnia się tym, że jest samowystarczalne i najłatwiejsze w użyciu (dane oraz informacje potrzebne do ich odszyfrowania są pakowane razem).

  • Wymóg wstępny: wymaga nowszego urządzenia (nowszego jądra). Jeśli urządzenie jest zbyt stare, aby się kwalifikować, po rozpoczęciu przechwytywania otrzymasz jasny komunikat „przechwytywanie NIC nie jest obsługiwane”; wystarczy wtedy przełączyć się na klucz NIC.

Jak używać: wybierz urządzenie → wybierz kartę sieciową (domyślnie Wi-Fi) → rozpocznij przechwytywanie.


Celuje w pojedynczą aplikację i odczytuje tekst jawny bezpośrednio z jej wnętrza, a ani przypinanie certyfikatu, ani własne szyfrowanie nie mogą go powstrzymać.

  • Nieograniczone wadami trybu NIC: aplikacje, których nie da się odszyfrować w trybie NIC (przypinanie certyfikatu, własne szyfrowanie), mają tu również odczytywany tekst jawny, ponieważ metoda ta czyta z wnętrza aplikacji, nie działając jako man-in-the-middle i nie polegając na odszyfrowaniu na poziomie karty sieciowej.
  • Włącz „ruch gniazda” jako rozwiązanie awaryjne, gdy nie da się zdekodować: dla aplikacji, które statycznie linkują / używają własnej biblioteki i z których zwykłe metody nie potrafią pozyskać tekstu jawnego, włącz ten przełącznik, aby sięgnąć po dane niższą warstwą.
  • Uruchom ponownie docelowy program: możesz najpierw zamknąć i ponownie uruchomić aplikację, aby przechwycić jej ruch z wczesnego etapu uruchamiania.
  • Celuje wyłącznie w wybraną aplikację (nie w ruch całego urządzenia).

Jak używać: wybierz docelową aplikację (wskaż ją z listy zainstalowanych aplikacji albo wpisz nazwę pakietu / nazwę procesu; pozostaw puste, aby przechwycić aplikację na pierwszym planie) → zaznacz „uruchom ponownie docelowy program”, jeśli musisz przechwycić ruch z uruchamiania → rozpocznij przechwytywanie.


Oprócz trzech powyższych metod, urządzenie z Androidem może również skorzystać z przechwytywania przez proxy: skieruj proxy Wi-Fi urządzenia na tę maszynę, zainstaluj certyfikat główny, a będziesz mógł przechwytywać tekst jawny HTTPS tak samo jak na komputerze i korzystać z pełnego zestawu możliwości przepisywania i odtwarzania. Nadaje się do debugowania aplikacji przechodzących przez systemowe proxy albo do scenariuszy wymagających przepisywania / odtwarzania żądań mobilnych według reguł.


  • Analiza żądań sieciowych aplikacji telefonicznej i badanie problemów z serwerami, z automatycznym odszyfrowaniem całego urządzenia i bez majstrowania przy certyfikatach.
  • Zobaczenie, z perspektywy całego urządzenia, z jakimi serwerami urządzenie lub aplikacja rzeczywiście się połączyły i co wysłały.
  • Gdy aplikacja stosuje przypinanie certyfikatu, a tryb NIC nie potrafi jej odszyfrować, użyj przechwytywania w warstwie aplikacji, aby precyzyjnie pozyskać tekst jawny.
  • Aby jednocześnie podglądać i edytować (przepisywanie / odtwarzanie), użyj przechwytywania przez proxy.

Powrót do Przechwytywanie przez proxy · Powiązane: Podgląd i dekodowanie danych · Zarządzanie certyfikatami i ich instalacja