web-dev-qa-db-ja.com

Android:非ルートAndroidデバイスを使用したHTTPリクエストのキャプチャ

サードパーティのjarを使用するAndroidアプリケーションがあります。 HTTPリクエストは、アプリケーションの実行時にサードパーティのjarからサーバーに送信されます。サードパーティのjarから送信されたHTTPリクエストをキャプチャする必要があります。 root化されていないデバイスで実装する簡単な方法があるかどうか疑問に思っています

起動するには:「proxyDroid」をダウンロードしようとしましたが、ルート化された電話が必要です根ざしたデバイスです

私は、fiddler/wiresharkがWindowsに対してできることを必要としています。すべてのヘッダーフィールドを含むリクエストオブジェクトを提供できるAndroidアプリケーションと簡単に統合できるネットワークパケットアナライザー。

64
Venkatesh

Charles -PCまたはMACに、開発者がマシンとインターネット間のすべてのHTTPおよびSSL/HTTPSトラフィックを表示できるHTTPプロキシ/ HTTPモニター/リバースプロキシをインストールできます。

設定手順:

  • 電話機とPCまたはMACを同じLANに入れます
  • インストールしたCharlesを起動します(デフォルトのプロキシポートは8888です)
  • 電話機のWi-Fi構成をセットアップします。デリゲートのIPをPCまたはMACのIPに設定し、デリゲートのポートを8888に設定します
  • スマートフォンでアプリを起動します。また、Charlesのhttpリクエストを監視します。
60
SFeng

Dronyをインストールしたばかりで、シェアウェアではなく、Android 3.x以上の携帯電話でrootを必要としません

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

要求をインターセプトし、ログに表示されます

それを行うには多くの方法がありますが、そのうちの1つは fiddler です

フィドラーの構成

  1. オプションに移動
  2. HTTPSタブで、HTTPS接続のキャプチャおよびHTTPSトラフィックの復号化
  3. 接続タブで、リモートコンピューターの接続を許可
  4. フィドラーを再起動する

Androidの構成

  1. 同じネットワークに接続
  2. ネットワーク設定を変更する
  3. PCのIPアドレス(またはホスト名)とデフォルトのフィドラーのポート(8888 /設定で変更できます)で接続するためのプロキシを追加します

これで、フィドラーでデバイスから完全なログを見ることができます

また、完全な指示を見つけることができます こちら

11
Arash Hatami

Webdebuggerとしてフィドラーを使用できます http://www.telerik.com/fiddler/web-debugging

Fiddler は、Telerikソフトウェアのデバッグツールであり、マシンから開始されるすべての要求をインターセプトするのに役立ちます。

6
Citizen Ken

SandroProxy はDronyよりも優れているようです(同じ開発者による):PCのブラウザーでトラフィックを簡単に表示および分析できます(ただし、そうする必要はありません)。

エミュレーターでも動作するはずです。

2

burp-suiteを使用できます。以下の手順に従ってください。

Burp Proxyリスナーを構成する

Burpで、「プロキシ」タブに移動し、「オプション」タブに移動します。「プロキシリスナー」セクションで、「追加」ボタンをクリックします。

[バインド]タブの[ポートにバインド:]ボックスに、現在使用されていないポート番号を入力します。 「8082」。次に「すべてのインターフェース」オプションを選択し、「OK」をクリックします。

プロキシを使用するようにデバイスを構成します

Androidデバイスで、[設定]メニューに移動します。

使用しているワイヤレスネットワークにデバイスがまだ接続されていない場合は、[Wi-Fi]ボタンをオンにし、[Wi-Fi]ボタンをタップして[Wi-Fi]メニューにアクセスします。

[Wi-Fiネットワーク]テーブルでネットワークを見つけてタップし、接続メニューを表示します。

「接続」をタップします。パスワードを設定している場合は、入力して続行します。

接続したら、ネットワークボタンを押したままにしてコンテキストメニューを表示します。「ネットワーク構成の変更」をタップします。

「詳細オプションを表示」ボックスにチェックが入っていることを確認します。

ボタンをタップして、「プロキシ設定」を「手動」に変更します。

次に、Burpを実行しているコンピューターのIPを「プロキシホスト名」に入力します。前の「プロキシリスナー」セクションで設定したポート番号を入力します。この例では「8082」です。「保存」をタップします。

構成をテストする

Burpで、「Proxy Intercept」タブに移動し、インターセプトが「オン」であることを確認します(ボタンに「インターセプトがオフ」と表示されている場合、クリックしてインターセプトステータスを切り替えます)。

Androidデバイスでブラウザーを開き、HTTP Webページに移動します(AndroidデバイスにBurpのCA証明書をインストールすると、HTTPS Webページにアクセスできます)。

要求はBurpでインターセプトする必要があります。

2
Vis

https://mitmproxy.org/ を同じLAN上のプロキシとして設定します

  • オープンソース
  • 組み込みpython 3
  • Pip経由でインストール可能
0
AlexisCaffa