Android: Köklü olmayan android cihazla HTTP İsteklerini Yakalama


92

İçinde üçüncü taraf kavanoz kullanan bir android uygulamam var. Http isteği, uygulama çalışırken üçüncü taraf jar'den sunucuya gönderilir. Üçüncü taraf jar tarafından gönderilen HTTP İsteğini yakalamam gerekiyor. Köklü olmayan cihazla uygulamanın kolay bir yolu olup olmadığını merak ediyorum.

Başlamak için: "proxyDroid" i indirmeyi denedim, ancak rootlu telefona ihtiyacım var Ayrıca "köpekbalığı okuyucusu" ile "köpekbalığı için köpekbalığı" indirmeyi denedim ve aynı zamanda köklü cihaza da ihtiyaç duydum. Tam isteği yakalayabilecek diğer birçok uygulamayı denedim ama tüm ihtiyacı olan köklü cihaz

Fiddler / wireshark'ın pencereler için yapabileceklerine ihtiyacım var. Tüm başlık alanları ile istek nesnesi verebilen android uygulaması ile kolayca entegre edilebilen bir ağ paket analizörü


Bu sizin "android uygulamanız" mı?
CommonsWare

Evet android uygulamam
Venkatesh

Merhaba @Venkatesh, http isteklerini root olmayan android ile başarıyla durdurmayı başardınız mı?

@lalalalalala Hayır. Köklü olmayan bir cihazla bunu başaramadım.
Venkatesh

Yanıtlar:


82

Bir geliştiricinin kendi makinesi ile İnternet arasındaki tüm HTTP ve SSL / HTTPS trafiğini PC'nize veya MAC'a görüntülemesini sağlayan bir HTTP proxy / HTTP monitörü / Ters Proxy olan Charles'ı yükleyebilirsiniz .

Yapılandırma adımları:

  • Telefonunuz ve PC'nizin veya MAC'iniz aynı LAN'da olsun
  • Yüklediğiniz Charles'ı başlatın (varsayılan proxy bağlantı noktası 8888'dir)
  • Telefonunuzun wifi yapılandırmasını ayarlayın: Temsilcinin ipini PC'nize veya MAC'in ipine, delege bağlantı noktasını 8888'e ayarlayın
  • Uygulamanızı telefonunuzda kullanın. Ve Charles'daki http isteklerini izleyin.

4
bu öğretici iyi çalıştı: jaanus.com/blog/2012/02/12/…
Lionel

18
Maalesef bir shareware.
flawyte

1
Aynı işi yapmak için alternatif olarak geğirmeyi denemek isteyebilirsiniz. Çok güçlü ve ücretsizdir: portswigger.net/burp
gerodim

Web soket trafiğiyle aynı şeyi yapacak bir araç var mı? Yani androidin kendisinde. (PC için wireshark / fiddler biliyorum)
Amol M Kulkarni

Android için nedir
mohsen

17

Drony'yi yeni yükledim, bir shareware değil ve Android 3.x veya üstü ile cep telefonunda root gerektirmiyor

https://play.google.com/store/apps/details?id=org.sandroproxy.drony

İstekleri durdurur ve bir LOG üzerinde gösterilir


Aradığım şey bu, ancak bu uygulama için tam kaynak kodu istiyorum, Android için kaynak kodu için bir bağlantı gönderebilir misiniz?
Smit.Satodia

2
@ Smit.Satodia Kaynak kodunu paylaşıp paylaşmadıklarını bilmiyorum, eğer biri bağlantıyı yorum olarak göndermekten çekinirse
Mauricio Gracia Gutierrez

2
Kaynak kodu burada bulunabilir: github.com/SuppSandroB/sandrop İlk olarak Google Code'da burada barındırılıyordu: code.google.com/archive/p/sandrop
GabLeRoux

1
@JanWytze, geliştiricilerle iletişime geçerseniz size bu konuda yardımcı olabilirler.
Mauricio Gracia Gutierrez

sadece ana bilgisayar adını / ip
adresini günlüğe kaydeder

17

Bunu yapmanın birçok yolu var ama bunlardan biri kemancı

Fiddler Yapılandırması

  1. Seçeneklere git
  2. Gelen HTTPS sekmesi etkinleştirmek Yakalama HTTPS Bağlanıyor ve azalmak HTTPS trafiğine
  3. Gelen Bağlantılar sekmesine etkinleştirmek uzak bilgisayarlara bağlanmasına izin ver
  4. Fiddler'ı yeniden başlatın

Android Yapılandırması

  1. Aynı ağa bağlanın
  2. Ağ ayarlarını değiştir
  3. Bilgisayarınızın IP adresi (veya ana bilgisayar adı) ve varsayılan fiddler portu (8888 / bunu ayarlardan değiştirebilirsiniz) ile bağlantı için proxy ekleyin

Artık fiddler'da cihazınızdan tam günlüğü görebilirsiniz

Ayrıca burada tam bir talimat bulabilirsiniz


2
Fiddler beta macOS'ta mevcuttur (mono'ya bağlı olarak). Bilgisayarınız yoksa bu iyi bir haber.
MacKentoch

Teşekkürler ama bu cevaptaki tüm bilgisayarlardan bahsediyorum. PC / Laptop / etc ... :) @MacKentoch
Arash Hatami

6

Fiddler'ı webdebugger olarak kullanabilirsiniz http://www.telerik.com/fiddler/web-debugging

Fiddler , telerik yazılımının bir hata ayıklama aracıdır ve makinenizden başlatılan her isteği durdurmanıza yardımcı olur.


4
Bu bağlantı soruyu cevaplayabilirken, cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak daha iyidir. Bağlantı verilen sayfa değişirse yalnızca bağlantı yanıtları geçersiz hale gelebilir
zohar

6

Şimdi 2020, en son çözüm için, Android cihazınızı köklendirmeden https trafiğini koklamak için Burp Suite'i kullanabilirsiniz.

Adımlar:

  1. Burp Suite'i yükleyin

  2. Proxy'yi Etkinleştir

  3. Sertifikayı Android telefonunuza aktarın

  4. Wifi yapılandırmanızı proxy dinlemeye değiştirin

  5. Kar!

Nasıl yapılacağına dair tam eğitim ve ekran görüntüsünü buraya yazdım: https://www.yodiw.com/monitor-android-network-traffic-with-burp/


Verileri siteden buraya kopyalamak güzel olur. Siteniz çökebilir. Ayrıca SO, aynı nedenle bağlantılardan ziyade alıntı yapmayı teşvik eder. Bu harika öğretici dışında.
Mark

Adil olmak gerekirse, sadece stackoverflow.com/a/39684919/5506988'i geliştirmek, başka bir "cevap" yazmaktan daha iyi olabilirdi .... Neyse, harika iş.
Mark

4

burp-suite kullanabilirsiniz. aşağıdaki prosedürü takip edin.

Burp Proxy dinleyicisini yapılandırın

Burp'ta, "Proxy" sekmesine ve ardından "Seçenekler" sekmesine gidin. "Proxy Dinleyicileri" bölümünde, "Ekle" düğmesine tıklayın.

"Bağlama" sekmesinde, "Bağlantı noktasına bağla:" kutusunda, şu anda kullanılmayan bir bağlantı noktası numarası girin, örneğin "8082". Ardından "Tüm arabirimler" seçeneğini seçin ve "Tamam" ı tıklayın.

Cihazınızı proxy kullanacak şekilde yapılandırın

Android cihazınızda "Ayarlar" menüsüne gidin.

Cihazınız kullandığınız kablosuz ağa zaten bağlı değilse, "Wi-Fi" düğmesini açın ve "Wi-Fi" menüsüne erişmek için "Wi-Fi" düğmesine dokunun.

"Wi-Fi ağları" tablosunda ağınızı bulun ve bağlantı menüsünü getirmek için ona dokunun.

"Bağlan" a dokunun. Bir şifre yapılandırdıysanız, girin ve devam edin.

Bağlandığınızda, içerik menüsünü açmak için ağ düğmesini basılı tutun. "Ağ yapılandırmasını değiştir" e dokunun.

"Gelişmiş seçenekleri göster" kutusunun işaretli olduğundan emin olun.

Düğmeye dokunarak "Proxy ayarlarını" "Manuel" olarak değiştirin.

Daha sonra Burp'u çalıştıran bilgisayarın IP'sini "Proxy ana bilgisayar adı" na girin. Daha önce bu örnekte "8082" olan "Proxy Dinleyicileri" bölümünde yapılandırılan bağlantı noktası numarasını girin. "Kaydet" e dokunun.

Yapılandırmayı test edin

Burp'te, "Proxy Intercept" sekmesine gidin ve kesmenin "açık" olduğundan emin olun (düğme "Intercept kapalı" diyorsa, durdurma durumunu değiştirmek için tıklayın).

Android cihazınızda tarayıcıyı açın ve bir HTTP web sayfasına gidin (Android cihazınıza Burp'un CA Sertifikasını yüklediğinizde bir HTTPS web sayfasını ziyaret edebilirsiniz.)

İstek Burp'ta yakalanmalı.


2

SandroProxy , Drony'den (aynı geliştirici tarafından) daha iyi görünüyor: Bilgisayarınızın tarayıcısındaki trafiği rahatça görüntüleyebilir ve analiz edebilirsiniz (ancak gerekmez).

Emülatörlerde de çalışmalıdır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.