Odpowiedzi:
Oto parę sugestii:
W przypadku telefonów z systemem Android dowolna sieć : zrootuj telefon, a następnie zainstaluj na nim tcpdump. Ta aplikacja to opakowanie tcpdump, które zainstaluje tcpdump i umożliwi rozpoczęcie uruchamiania przechwytywania za pomocą GUI. Wskazówka: Musisz upewnić się, że podałeś poprawną nazwę interfejsu do przechwytywania, a to różni się w zależności od urządzenia, np. -I eth0 lub -i tiwlan0 - lub użyj -i dowolne, aby zarejestrować wszystkie interfejsy
Dla telefonów z Androidem 4.0+ : Android PCAP firmy Kismet korzysta z interfejsu USB OTG do obsługi przechwytywania pakietów bez konieczności rootowania . Nie próbowałem tej aplikacji i istnieją pewne ograniczenia dotyczące obsługiwanych urządzeń (patrz ich strona)
Dla telefonów z systemem Android : tPacketCapture używa usługi Android VPN do przechwytywania pakietów i ich przechwytywania. Z powodzeniem korzystałem z tej aplikacji, ale wydaje się, że wpływa to również na wydajność przy dużym natężeniu ruchu (np. Przesyłanie strumieniowe wideo)
W przypadku urządzeń z systemem iOS 5+ dowolna sieć : iOS 5 dodał funkcję zdalnego interfejsu wirtualnego (RVI) , która pozwala używać programów śledzenia pakietów Mac OS X do przechwytywania śladów z urządzenia z systemem iOS. Zobacz tutaj po więcej szczegółów
Dla wszystkich telefonów, tylko Wi-Fi: Skonfiguruj komputer jako bezprzewodowy punkt dostępu , a następnie uruchom wireshark na komputerze
Dla wszystkich telefonów, tylko Wi-Fi: Uzyskaj urządzenie przechwytujące, które może wąchać Wi-Fi. Ma to tę zaletę, że daje również nagłówki 802.11x, ale możesz przegapić niektóre pakiety
Przechwytywanie za pomocą serwera VPN : dość łatwo skonfigurować własny serwer VPN za pomocą OpenVPN. Następnie możesz skierować ruch przez serwer, konfigurując urządzenie mobilne jako klient VPN i przechwytując ruch po stronie serwera.
Oprócz doskonałej odpowiedzi rupello, „brudna”, ale bardzo skuteczna sztuczka:
Dla wszystkich telefonów, dowolna (lokalna) sieć : Skonfiguruj komputer tak, aby obsługiwał urządzenie mobilne Man-In-The-Middle .
Użyj Ettercap, aby zrobić fałszowanie ARP między urządzeniem mobilnym a routerem, a cały ruch z telefonu komórkowego pojawi się w Wireshark. Zobacz ten samouczek, aby uzyskać szczegółowe informacje dotyczące konfiguracji
Inną opcją, która nie została tutaj zasugerowana, jest uruchomienie aplikacji, którą chcesz monitorować w emulatorze Androida z zestawu SDK systemu Android. Następnie możesz łatwo przechwytywać ruch za pomocą Wireshark na tym samym komputerze.
To była dla mnie najłatwiejsza opcja.
Wireshark + OSX + iOS:
Jak dotąd świetny przegląd, ale jeśli chcesz poznać specyfikę Wireshark + OSX + iOS:
rvictl -s x
gdzie x
jest UDID twojego urządzenia iOS. Możesz znaleźć UDID swojego urządzenia iOS poprzez iTunes (upewnij się, że używasz UDID, a nie numeru seryjnego).Capture->Options
, pojawi się okno dialogowe, kliknij linię, rvi0
a następnie naciśnij Start
przycisk.Teraz zobaczysz cały ruch sieciowy na urządzeniu z systemem iOS. To może być dość przytłaczające. Kilka wskazówek:
ip.addr==204.144.14.134
wyświetla ruch z adresem źródłowym lub docelowym 204.144.14.134http
wyświetla tylko ruch httpOto przykładowe okno przedstawiające ruch TCP do pobrania pdf z 204.144.14.134:
Do telefonu z Androidem użyłem tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=pl
Ta aplikacja ratowała życie. Debugowałem problem z niepowodzeniem uzgadniania SSL / TLS w mojej aplikacji na Androida. Próbowałem skonfigurować sieć ad hoc, aby móc używać wireshark na swoim laptopie. Nie działało to dla mnie. Ta aplikacja szybko pozwoliła mi przechwycić ruch sieciowy, udostępnić go na Dysku Google, aby móc pobrać na laptopie, gdzie mogę go zbadać za pomocą Wireshark! Niesamowite i nie wymaga rootowania!
Aplikacja Packet Capture na Androida implementuje VPN, który rejestruje cały ruch sieciowy na urządzeniu z Androidem. Nie musisz konfigurować żadnego serwera VPN / proxy na komputerze. Nie wymaga rootowania. Obsługuje deszyfrowanie SSL, którego nie obsługuje tPacketCapture. Zawiera także dobrą przeglądarkę logów.
Zainstaluj Fiddler na komputerze i używaj go jako proxy na swoim urządzeniu z Androidem.
Źródło: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
Podobnie jak uczynienie z komputera bezprzewodowego punktu dostępowego, ale może być znacznie łatwiejsze, wykorzystuje odwrotne tethering. Jeśli zdarzy ci się mieć telefon HTC, mają one ładną opcję tetheringu wstecznego o nazwie „Internet pass-through”, w ustawieniach udostępniania sieci / sieci komórkowej. Kieruje cały ruch przez komputer i możesz po prostu uruchomić Wireshark.
Zmień swój laptop w hotspot Wi-Fi dla swojego telefonu (dowolny) i podłącz go do Internetu. Sniff Traffic na interfejsie Wi-Fi za pomocą Wireshark.
poznasz wiele rzeczy przeciwko prywatności!
Warunki wstępne: adb i wireshark jest zainstalowany na twoim komputerze i masz zrootowane urządzenie z Androidem.
adb push ~/Downloads/tcpdump /sdcard/
adb shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
CTRL+C
po przechwyceniu wystarczającej liczby pakietów.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Teraz możesz otworzyć plik pcap za pomocą Wireshark.
W Androidzie wcześniej korzystałem z tPacketCapture, ale nie działało to dobrze w przypadku aplikacji przesyłającej wideo. Teraz używam Sharka . Musisz być rootem aby z niego korzystać.
Wykorzystuje TCPDump (sprawdź argumenty, które możesz przekazać ) i tworzy plik pcap, który może być odczytany przez Wireshark. Domyślne argumenty są zazwyczaj dla mnie wystarczające.
Miałem podobny problem, który zainspirował mnie do opracowania aplikacji, która może pomóc w przechwytywaniu ruchu z urządzenia z Androidem. Aplikacja zawiera serwer SSH, który pozwala na ruch w Wireshark w locie ( komponent sshdump wireshark ). Ponieważ aplikacja wykorzystuje funkcję systemu operacyjnego o nazwie VPNService do przechwytywania ruchu, nie wymaga dostępu do konta root.
Aplikacja jest na początku wersji beta. Jeśli masz jakieś problemy / sugestie, nie wahaj się dać mi znać.