Androidアプリケーション(インストールした任意のアプリ)がオンラインサーバー(RESTfulサービスなど)へのAPI呼び出しを行う場合に使用するAPI URL)をどのように把握できるか興味があります。デバイスでパケットをキャプチャし、おそらくWiresharkまたはURLを見つけるために何かを分析する必要があると思いますか?私はJava/Android開発でかなり有能ですが、あらゆる種類のネットワーク分析ビジネスに関しては少し失われます。
WireShark を使用してこれを行うことができます。ここに手順をリストしています
emulator @<AVD name>
)adb install app_file_name.apk
を使用して仮想デバイスインストールアプリを作成した後キャプチャするインターフェイスを選択し、[開始]をクリックしてキャプチャを開始します。
そのアプリの使用を開始すると、パケットが前後に転送され、wiresharkがキャプチャします。
あらゆる種類のアクティビティをカバーするアプリを使用している場合、wiresharkを停止してパケットをキャプチャできます。
パケットを慎重に分析するための主要なビジネスを開始しましたが、すべてのパケットが仕事に役立つわけではありません。あなたに関係のあるパケットをフィルタリングしましょう。 IPアドレスを192.168.0.32にしてから、これがIPであるすべてのパケットをフィルタリングします。そのため、フィルター式はip.addr==192.168.0.32
になり、このフィルターを適用します。それでも別のフィルターを適用して関連するパケットのみをリストするため、アプリがHTTPプロトコルでAPIにアクセスしている可能性があるため、HTTPフィルターを適用します。式はhttp
になります。両方のフィルタを一度に適用できますip.addr==192.168.0.32 and http
Enterキーを押して適用します。
リストされたパケットの情報を注意深く見ると、多くの重要な詳細、APIキー、Cookieなどが表示されます。
非常に高速な方法。
PlayStoreに移動して、検索します Packet Capture
ダウンロード、インストール、実行します。
それは簡単で簡単です。 API、URL、およびヘッダーに関する応答に関する詳細を提供します。
このアプリケーションは Packet Sniffing の概念に従います。したがって、これはWhatsApp、Facebook、Twitterなどのセキュリティで保護されたアプリケーションでは機能しない可能性があります。
更新1:
Packet Capture プレイストアで利用できなくなった場合、 OS Monitor を試してください
デバッグプロキシを使用します。再生ボタンをクリックすると、URLをキャプチャして詳細を表示できます
https://play.google.com/store/apps/details?id=com.dans.apps.webd