Przechwytywanie ruchu z telefonu komórkowego w Wireshark

Odpowiedzi:

350

Oto parę sugestii:

  1. 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

  2. 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)

  3. 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)

  4. 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

  5. Dla wszystkich telefonów, tylko Wi-Fi: Skonfiguruj komputer jako bezprzewodowy punkt dostępu , a następnie uruchom wireshark na komputerze

  6. 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

  7. 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.

rupello
źródło
1
Jeśli chcesz skonfigurować nieuczciwy punkt dostępu w systemie Windows 7 i nowszych oraz przechwytywać pakiety za pomocą Wireshark, zapoznaj się z krokami, które przygotowałem na mohit.io/blog/… Będzie to działać na każdym urządzeniu obsługującym Wi-Fi (Android) , iOS, Wii, XBox itp.)
mohit
2
Odnośnie opcji 2: jest to praktycznie nieistniejąca opcja. Z ich strony: „Będziesz potrzebować [...] i bezprzewodowej karty sieciowej opartej na RTL8187” !!!!
matteo
1
Dla mnie opcja nr 3 to najłatwiejsze do wykonania proste zadania, takie jak sprawdzenie, jakie połączenia wykonuje dana aplikacja.
Nighto
1
Większość z nich nie działa dla pakietów, które nigdy nie opuszczają urządzenia lub jeśli już korzystasz z VPN. Są więc bezużyteczne do rozwiązywania problemów związanych z MTU / fragmentacją.
Evi1M4chine
1
Co jeśli chcę zrobić coś przeciwnego? Używać mojego smartfona podłączonego do USB do przechwytywania pakietów mojego komputera? Zasadniczo uruchom oprogramowanie podobne do wireshark na moim telefonie z Androidem
dominicbri7
40

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

minifif
źródło
3
Możesz także użyć proxy Charlesa w systemie Mac OS, do przechwytywania ruchu HTTP, ma bardzo ładny interfejs i funkcje. Konieczne będzie skonfigurowanie lokalnego adresu IP komputera na serwerze proxy. Może także wąchać ruch TLS i zrobić to bez ostrzeżenia, jeśli zainstalujesz certyfikat Charlesa na telefonie.
minipif
28

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.

MazeChaZer
źródło
1
To interesująca opcja. Czy może obsługiwać pakiety ssl?
ransh
22

Wireshark + OSX + iOS:

Jak dotąd świetny przegląd, ale jeśli chcesz poznać specyfikę Wireshark + OSX + iOS:

  • zainstaluj Wireshark na swoim komputerze
  • podłącz urządzenie iOS do komputera kablem USB
  • podłącz urządzenie iOS i komputer do tej samej sieci Wi-Fi
  • uruchom to polecenie w oknie terminala OSX: rvictl -s xgdzie xjest 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).
  • Goto Wireshark Capture->Options, pojawi się okno dialogowe, kliknij linię, rvi0a następnie naciśnij Startprzycisk.

Okno dialogowe Opcje przechwytywania Wireshark

Teraz zobaczysz cały ruch sieciowy na urządzeniu z systemem iOS. To może być dość przytłaczające. Kilka wskazówek:

  • nie używaj iOS z VPN, nie możesz zrozumieć zaszyfrowanego ruchu
  • użyj prostych filtrów, aby skupić się na interesującym ruchu
  • ip.addr==204.144.14.134 wyświetla ruch z adresem źródłowym lub docelowym 204.144.14.134
  • http wyświetla tylko ruch http

Oto przykładowe okno przedstawiające ruch TCP do pobrania pdf z 204.144.14.134:

Ruch Wireshark TCP do pobrania pdf z 204.144.14.134

drbobdugan
źródło
9

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!

Farrukh Najmi
źródło
Nie zadziała, jeśli problemy występują tylko podczas korzystania z VPN (i nigdy nie kończą się na koncentratorze / routerze).
Evi1M4chine
8

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.

Akira Yamamoto
źródło
To VPN nie działa ... żadna strona się nie otwiera lub dane są pobierane ... posiadanie tego VPN jest jak brak połączenia z Internetem ...
Himanshu Bansal
4

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.

Peter Jeffe
źródło
2

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!

FireCruZ
źródło
6
Czy możesz sprecyzować, jak to zrobić na co najmniej jednej platformie (Windows, Linux lub Mac OS X)?
Alexandre Marcondes
2

Warunki wstępne: adb i wireshark jest zainstalowany na twoim komputerze i masz zrootowane urządzenie z Androidem.

  1. Pobierz tcpdump do ~ / Downloads
  2. adb push ~/Downloads/tcpdump /sdcard/
  3. adb shell
  4. su root
  5. mv /sdcard/tcpdump /data/local/
  6. cd /data/local/
  7. chmod +x tcpdump
  8. ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
  9. CTRL+C po przechwyceniu wystarczającej liczby pakietów.
  10. exit
  11. exit
  12. adb pull /sdcard/dump.pcap ~/Downloads/

Teraz możesz otworzyć plik pcap za pomocą Wireshark.

AtomicBoolean
źródło
1

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.

użytkownik276648
źródło
1
Shark nie jest już dostępny w Google Play.
not2qubit
Rzeczywiście wydaje się, że został usunięty. Wygląda na to, że witryna swapper.n3o.lv już nie utrzymuje apków.
user276648,
0

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ć.

Pobierz z Play

Samouczek, w którym można przeczytać dodatkowe informacje

Andrey Egorov
źródło