スマホで通信しているAPIを調べてみた話
はじめに
ふと、「AdGuardのフィルタリングログから、どんな通信をしているか見れたよな」と思い出しました。
そこで、スマホがどのAPIと通信しているのかを簡単に調べる方法を紹介します。
AdGuardはHTTPSフィルタリングが可能なため、HTTPS通信でもログを確認でき、意外と多くの通信が見られるのではないかと思います。
ただし、これはAdGuardの本来の機能ではありませんし、あくまで思いつき程度の検証です。
そのため、どこまで正確にAPIを確認できるかは未知数です。参考程度にご覧ください。
必要なもの
- AdGuard APK版(Google Playストア版では機能が制限されているため、なおライセンスは不要です)
- Androidスマホ
手順
1. AdGuardのAPK版をインストール
AdGuardの公式サイトからAPKファイルをダウンロードし、インストールします。
https://adguard.com/ja/adguard-android/overview.html
2. CA証明書のインストール
AdGuardを起動するとガイドが表示されるので、指示に従ってCA証明書をインストールします。
(セキュリティ設定項目の認証情報とか証明書などの名前である場合が多い)
- 端末によってCA証明書のインストール場所が異なるため、不明な場合は機種ごとに調べてください。
- CA証明書をインストールすることで、HTTPSフィルタリングが有効になり多くの広告のブロックと追跡を回避できるほかより多くの通信データを解析できるようになります
3. スマホを普段どおり使う
AdGuardの設定が完了したら、スマホをいつも通り使います。
- ブラウジング、アプリ利用、SNSなど、通信が発生する操作をある程度行います。
- しばらく利用したらAdGuardを確認します。
4. AdGuardの統計ログを確認
- AdGuardに戻り、画面から「統計」から「最新アクティビティ」を開きます。
5. 結果の確認
自分の場合、以下のAPI通信が多く確認できました:
- Google系のAPI
- Twitter API
- 百度 API
補足:
試用している端末については中国版のLenovo端末です。
なお、「技適の特例制度」を提出済みです。
おわりに
AdGuardのHTTPSフィルタリング機能を利用することで、どのAPIに通信しているのかを簡単に確認することができました。
もちろん、URLに「API」と含まれていない場合は見逃しますし、全ての通信を完璧に可視化できるわけではありません。しかし、手軽にAPI通信の傾向を調べるには面白い方法かなと思います。