Posłuchaj adresów URL, które aplikacja próbuje połączyć

21

Czy można słuchać / monitorować aktywność sieciową aplikacji?

Mam tę jedną aplikację i nie mogłem dowiedzieć się, skąd bierze się jej obraz. Próbowałem google aplikacji, aby słuchać połączeń innych aplikacji, ale nie znalazłem. Szukam podobnej funkcjonalności jak karta sieciowa Google Chrome z menu programisty.

Zrootowałem Nexusa 4 z 4.2.2.

naf
źródło

Odpowiedzi:

18

OS Monitor wyświetla połączenia sieciowe według aplikacji:

Monitor systemu operacyjnego: połączenia Narzędzie do śledzenia połączeń
Monitor OS i lista połączeń Tracker połączeń (źródło: Google Play; kliknij obraz, aby powiększyć)

Jak widać, OS Monitor wyświetla wszystkie połączenia i wyświetla odpowiednią aplikację „będącą właścicielem” tego połączenia. Powinno to umożliwić wyświetlanie wszystkich serwerów, z którymi łączy się podejrzana aplikacja. Dostępne są również inne aplikacje z tą samą funkcją, np. Tracker połączeń pokazany na drugim zrzucie ekranu.

Jeśli naprawdę potrzebujesz pełnego adresu URL, powyższe nie doprowadzi Cię tam (obie aplikacje używają metod podobnych do netstat, co ujawnia tylko hosty). Zamiast tego możesz rzucić okiem np. TPacketCapture , który „wącha” Twój ruch sieciowy (bez konieczności rootowania ) i zapisuje protokół w tak zwanych .pcapplikach. Ponownie można je odczytać np. Przez Shark Reader .

Izzy
źródło
Naprawdę nie mogłem uzyskać adresów URL połączeń w żadnym z nich, ani wtedy nie mogłem znaleźć na to miejsca. OS Monitor ulega awarii.
naf
„Awaria Monitora systemu operacyjnego” musi oznaczać, że korzystasz z JellyBean (znany problem, nad nim pracują). I nie, obie aplikacje wydają się używać netstat, co nie ujawnia pełnego adresu URL, a jedynie serwer. Ponieważ nie określiłeś, co dokładnie zamierzasz, oczywiście zinterpretowałem tę część jako „sprawdzanie, gdzie jest ten serwer”. Jeśli naprawdę chcesz mieć pełny adres URL, możesz albo zajrzeć do dzienników ( logcatbyć może tam umieszczone), albo potrzebujesz „sniffera pakietów”.
Izzy
10

Korzystam z aplikacji przechwytywania pakietów , która jest dla mnie prostsza niż konfiguracja „wireshark” na Androidzie.

Aplikacja jest bezpłatna, nie wymaga dostępu do konta root, ale może poprosić o zainstalowanie certyfikatu użytkownika w celu odszyfrowania połączenia SSL (używa techniki MITM, jak wspomniano na stronie aplikacji; nie musisz jej instalować, jeśli nie chcesz) znać treść połączenia SSL )

Stosowanie

  1. Otwórz aplikację przechwytywania pakietów
  2. Naciśnij ikonę Odtwórz (zielony trójkąt), aby rozpocząć przechwytywanie
  3. Gdy jest aktywna, otwórz aplikację, której chcesz słuchać, o jej aktywności w sieci
  4. Poczekaj, aż aplikacja zakończy działanie sieci
  5. Przejdź do aplikacji Przechwytywanie pakietów i dotknij ikony Zatrzymaj (czerwony kwadrat), aby zatrzymać przechwytywanie
  6. Otwórz dziennik, dotykając jego wpisu
Andrew T.
źródło