Próbuję monitorować połączenia z aplikacji na mój serwer, tak jak robi to Firebug. Nie mogłem znaleźć sposobu, aby to zobaczyć w symulatorze iOS lub w xCode.
Czy można to zrobić bez wąchania całego ruchu? Jeśli nie, jakie narzędzie byś zaproponował?
xcode
networking
ios-simulator
network-monitoring
Mad Echet
źródło
źródło
Proxy typu man-in-the-middle, jak sugerują inne odpowiedzi, jest dobrym rozwiązaniem, jeśli chcesz widzieć tylko ruch HTTP / HTTPS. Apartament Burp jest całkiem niezły. Jednak konfiguracja może być trudna. Nie jestem pewien, jak przekonałbyś symulator do rozmowy. Być może będziesz musiał ustawić serwer proxy na lokalnym komputerze Mac na wystąpienie serwera proxy, aby przechwycił, ponieważ symulator będzie korzystał ze środowiska lokalnego komputera Mac.
Najlepszym rozwiązaniem do sniffowania pakietów (choć działa tylko na rzeczywistych urządzeniach z systemem iOS, a nie na symulatorze), które znalazłem, jest użycie
rvictl
. Ten post na blogu ma niezły opis. Zasadniczo robisz:Następnie wąchasz interfejs, który tworzy za pomocą Wiresharka (lub twojego ulubionego narzędzia), a kiedy skończysz, wyłącz interfejs za pomocą:
Jest to miłe, ponieważ jeśli chcesz węszyć pakietowo symulator, musisz również przebrnąć przez ruch do lokalnego komputera Mac, ale
rvictl
tworzy wirtualny interfejs, który po prostu pokazuje ruch z urządzenia iOS podłączonego do USB Port.źródło
Darmowe narzędzie proxy typu open source, które łatwo działa na komputerze Mac, to mitmproxy .
Witryna zawiera linki do pliku binarnego Mac, a także kod źródłowy na Github.
Dokumenty zawierają bardzo pomocne wprowadzenie do ładowania certyfikatu na urządzenie testowe w celu wyświetlenia ruchu HTTPS.
Nie jest tak plastyczny jak Charles, ale robi wszystko, czego potrzebuję, jest darmowy i utrzymywany. Dobre rzeczy i całkiem proste, jeśli wcześniej używałeś niektórych narzędzi wiersza poleceń.
AKTUALIZACJA: Właśnie zauważyłem na stronie internetowej, że mitmproxy jest dostępny jako instalacja homebrew. Nie może być prostsze.
źródło
Niedawno znalazłem repozytorium git, które to ułatwia.
Możesz tego spróbować.
To jest zrzut ekranu aplikacji:
Z poważaniem.
źródło
Xcode zapewnia rejestrowanie diagnostyczne CFNetwork. Apple doc
Aby to włączyć, dodaj
CFNETWORK_DIAGNOSTICS=3
w sekcji Zmienna środowiskowa:Spowoduje to wyświetlenie żądań z aplikacji z nagłówkami i treścią. Należy pamiętać, że
OS_ACTIVITY_MODE
musi być ustawioneenable
tak, jak pokazano. W przeciwnym razie żadne dane wyjściowe nie będą wyświetlane na konsoli.źródło
Wireshark it
Wybierz swój interfejs
Dodaj
filter
początekcapture
Testowanie
Kliknij dowolną akcję lub przycisk, które wywołałyby żądanie GET / POST / PUT / DELETE
Zobaczysz to na liście w wireshark
Jeśli chcesz poznać więcej szczegółów na temat jednego konkretnego pakietu, po prostu wybierz go i Śledź> Strumień HTTP .
miej nadzieję, że to pomoże innym!
źródło
Jeśli masz połączenie kablowe i komputer Mac, istnieje prosta i wydajna metoda:
zainstaluj darmowy Wireshark, upewnij się, że może przechwytywać urządzenia z (i musisz to zrobić po każdym ponownym uruchomieniu komputera !):
sudo chmod 644 / dev / bpf *
Teraz udostępnij swoją sieć Wi-Fi. Preferencje systemowe> Udostępnianie> Udostępnianie Internetu. Sprawdź, czy masz „Udostępnij swoje połączenia z: Ethernet” i używasz: Wi-Fi. Możesz również skonfigurować niektóre zabezpieczenia Wi-Fi, nie zakłócają monitorowania danych.
Podłącz telefon do nowo utworzonej sieci. Często potrzebuję tutaj kilku prób. Jeśli telefon nie chce się połączyć, wyłącz Wi-Fi komputera Mac, a następnie powtórz krok 2 powyżej i bądź cierpliwy.
Uruchom Wireshark, przechwytuj swój interfejs bezprzewodowy za pomocą Wireshark, prawdopodobnie jest to „en1”. Filtruj potrzebne adresy IP i / lub porty. Gdy znajdziesz pakiet, który jest interesujący, wybierz go, kliknij prawym przyciskiem myszy (menu kontekstowe)> Śledź strumień TCP, a zobaczysz ładną reprezentację tekstową żądań i odpowiedzi.
A co najlepsze: dokładnie ta sama sztuczka działa również na Androida!
źródło
Telerik Fiddler to dobry wybór
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
źródło
źródło
Dobrym rozwiązaniem, jeśli jesteś przyzwyczajony do narzędzi inspektora Chrome, jest debugger Pony: https://github.com/square/PonyDebugger
Konfiguracja jest trochę uciążliwa, ale kiedy już to zrobisz, działa dobrze. Pamiętaj jednak, aby używać Safari zamiast Chrome, aby z niego korzystać.
źródło
Używam netfox. Jest bardzo łatwy w obsłudze i integracji. Możesz go używać na symulatorze i urządzeniu. Pokazuje wszystkie prośby i odpowiedzi. Obsługuje JSON, XML, HTML, obraz i inne typy odpowiedzi. Możesz udostępniać żądania, odpowiedzi i pełny dziennik według domyślnych formatów udostępniania IOS (Gmail, WhatsApp, e-mail, slack, sms itp.)
Możesz sprawdzić na GitHub: https://github.com/kasketis/netfox
źródło