2010-03-16 67 views

cevap

5

Evet, wireshark çalışacaktır.

Aynı src IP'den geldiğinden, yalnızca emülatör trafiğini filtrelemenin kolay bir yolu olduğunu düşünmüyorum.

Belki de en iyi yol, çok çıplak bir VMware ortamı oluşturmak ve sadece oradaki emülatörü çalıştırır, en azından bu şekilde çok fazla arka plan trafiği olmaz.

+0

İyi öneri, ancak bir VM üstünde çalışan bir emülatör almak zordur. Bunu işe mi aldın? – MikeSchem

+0

Hangi sorunlar için çalışıyorsunuz? Kendim yapmadım ama herhangi bir sorun olacağını düşünemiyorum. – Bitdivision

91

Orada bir Android emülatörü gelen ağ trafiğini doğrudan yakalamak için iki yol vardır:

  1. Kopya ve belki (örn tcpdump -s0 -w /sdcard/emulator.cap), SD karta çıktı yazma, emülatörünüzde bir ARM-compatible tcpdump binary çalıştırın.

  2. Run emulator -tcpdump emulator.cap -avd my_avd sonra normal şekilde tcpdump veya Wireshark ile pcap dosyasını analiz edebilirsiniz Her iki durumda da PC'niz

üzerinde yerel bir dosyaya tüm öykünücüsü'nın trafiğini yazmak için.

+0

Yani gerçek zamanlı/çevrimiçi değil mi? Yani, paketler sadece sonunda analiz edilebilir mi? – BornToCode

+0

İlk durumda, bir dosyaya yazmak yerine cihazdaki stdout ile analiz edebilirsiniz. İkinci durumda, dosyayı yazıldığı gibi akışlandırabilir/doldurabilirsiniz. Ya da, emülatörde değil, ana makinedeki ağ trafiğini yakalayabilirsiniz. –

+0

Kullanmakta olduğum emülatörlerin şimdi tcpdump yüklü olduğunu ve 1 numaralı komutun bir tane yüklemeden çalıştığını buldum. "Adb -e shell tcpdump -s0 -w /sdcard/emulator.cap" ile de çalıştırabilirsiniz. – Les

4

http trafiği izlemek için Fiddler kullanabilirsiniz: Ayrıca Fiddler2 here kullanabilirsiniz

http://aurir.wordpress.com/2010/03/22/tutorial-getting-android-emulator-working-with-fiddler-http-proxy-tool/

.

+1

Başka bir bağlantı [here] (http://blogs.msdn.com/b/jpsanders/archive/2013/04/03/configuring-fiddler-to-be-a-proxy-for-android-emulators.aspx). Proxy sunucusunun, Android emülatörlerinde ana makinenin IP adresi olan 10.0.2.2 olması gerektiğini, bunun ne olduğunu bulmaya gerek olmadığını eklemeliyim. – Mendhak

17

Ayrıca, http emitörünün http isteklerini izlemek için http proxy kullanmak da mümkündür. Android trafiğini izlemek için proxy'yi (Örnek burp) ayarlamak üzere yeni bir emülatör başlatırken -http-proxy bayrağını geçirebilirsiniz. Örnek kullanım ./emulator -http-proxy localhost:8080 -avd android2.2. Benim örneğimde Burp kullanıyorum ve 8080 dinleme portu olduğunu unutmayın. Daha fazla bilgi here bulunabilir.

+1

https trafik hakkında – pee2pee

6

OS X için Charles'u kullanabilirsiniz, kullanımı basit ve kolaydır.

+0

Ben daha önce Charles bilmiyorum. Ancak, görebildiğim kadarıyla, HTTP'ye özgüdür. Ancak OP'nin sorumu değil. –

2

Android Studio'dan ağ trafiğini izleyebilirsiniz. Android Monitor'a gidin ve Network sekmesini açın.

http://developer.android.com/tools/debugging/ddms.html

+5

android studio 1.5 (windows) içinde ağdaki bağlantı sekmesini açmak için nerede bağlantıdan görüntüde gösterildiği gibi, sadece bir grafik elde ediyorum ama ayrıntıları değil söyleyebilir misiniz? –

4

Android Studio bir akım salıverme doğru -tcpdump argüman geçerli değildi. Sen kurulumu için kolay http://docs.mitmproxy.org/en/stable/install.html

kullanabilir ve herhangi bir ekstra ince ayarlar gerektirmez

tools/emulator -engine classic -tcpdump dump.cap -avd myAvd 
0

şu şekildedir: Hala qemu ile ilgili parametreyi geçirerek bir dökümü yakalamak başardı.

Çeşitli araçlardan geçiyorum ama gerçekten iyi ve kolay olduğunu gördüm.

+0

Daha önce "mitmproxy" yi bilmiyorum. Ancak, görebildiğim kadarıyla, HTTP'ye özgüdür. Ancak OP'nin sorumu değil. –

+0

Yeni Android Studio 3.0 profiler sağlar, bunu kullanabilirsiniz. Ve mitm için her tür protokol, http, https vb. Sağlar. Sadece proxy'yi doğru şekilde yapılandırmanız gerekir. –

+0

Tarafımdan geliştirilmemiş uygulamalardan paket yakalamak mümkün mü? Ve Nox App Player gibi 3. parti bir emülatörde? Teşekkürler! –

0

Artık Android emülatör trafiğini yakalamak için Wireshark'ı doğrudan kullanmak mümkündür. Bunu mümkün kılan extcap eklentisi androiddump bulunmaktadır. Emülatörde çalışan sistem görüntüsünde tcpdump çalıştırılabilir (çoğu geçerli görüntü var, API 24 ve API 27 görüntüleri ile test edilmiş) ve ana bilgisayarda root olarak çalışan adbd (sadece adb root'u çalıştırın). Wireshark'daki mevcut arabirimler listesinde (yalnızca Qt sürümünde, kullanımdan kaldırılan GTK + yok) veya tshark -D ile gösterilen listede Bluetooth, Logcat veya Wifi trafiğini gizlemeye olanak tanıyan çeşitli Android arabirimleri olmalıdır, örn .:

android-wifi-tcpdump-emülatörü-5554 (Android WiFi Android_SDK_built_for_x86 emülatörü-5554)

İlgili konular