PCAPdroid
PCAPdroid は、プライバシーに配慮したオープンソースアプリで、デバイス上の他のアプリが行う接続を追跡・分析・ブロックできます。また、トラフィックの PCAP ダンプのエクスポート、HTTP の検査、TLS トラフィックの復号なども可能です。
PCAPdroid は、root を必要とせずにネットワークトラフィックをキャプチャするために VPN をシミュレートします。リモート VPN サーバーは使用せず、データはデバイス上でローカルに処理されます。
特徴:
- ユーザーアプリとシステムアプリが行う接続を記録して調査できます
- SNI、DNS クエリ、HTTP URL、リモート IP アドレスを抽出できます
- 内蔵デコーダーにより HTTP リクエストとレスポンスを検査できます
- 接続の完全なペイロードを hexdump/テキストとして検査できます
- HTTPS/TLS トラフィックを復号化し、SSLKEYLOGFILE をエクスポートできます
- トラフィックを PCAP ファイルにダンプし、ブラウザからダウンロードするか、リアルタイム解析(例: Wireshark)のためにリモートレシーバーへストリーミングできます
- 正常なトラフィックを除外して異常を簡単に見つけるルールを作成できます
- オフライン DB ルックアップにより、リモートサーバーの国と ASN を特定できます
- root 化されたデバイスでは、他の VPN アプリの実行中もトラフィックをキャプチャできます
有料機能:
- ファイアウォール: アプリ、ドメイン、IP アドレスを個別にブロックするルールを作成できます
- マルウェア検出: サードパーティのブラックリストを使用して悪意のある接続を検出できます
- PCAPng 形式: 復号化されたトラフィックのエクスポートと分析が容易になります
PCAPdroid を使用してパケット解析を行う予定がある場合は、マニュアルの該当セクションをご確認ください。
F-Droid アプリに ベータリポジトリ を追加すると、正式リリース前に最新機能を試すことができます。
ユーザーガイド
クイックスタート手順 または完全な ユーザーガイド をご覧ください。
スポンサー
PCAPdroid プロジェクトは AVEQ GmbH のスポンサーを受けています。
このプロジェクトにスポンサーをご検討の場合は、メールをお送りください。
コミュニティ
PCAPdroid プロジェクトには、さまざまな形で貢献できます:
- 新機能についてディスカッションする
- アプリのテーマとレイアウトを改善する
- Github と Google Play でプロジェクトにスターを付ける
- もちろん、コードのプルリクエストを送ることもできます!
国際的な PCAPdroid コミュニティには、Telegram または Matrix で参加できます。
アプリへの統合
PCAPdroid の一部の機能は、サードパーティ製アプリに統合してパケットキャプチャ機能を提供できます。
- root 化されたデバイスでは、pcapd デーモン を APK に直接統合してネットワークパケットをキャプチャできます。
- すべてのデバイスで、PCAPdroid はパケットキャプチャを制御し、キャプチャしたパケットを UDP 経由でアプリに送信するための API を公開しています。これには、PCAPdroid をアプリと一緒にインストールする必要があります。
オープンソース
PCAPdroid はオープンソーステクノロジーを基盤としています。
- nDPI: ディープパケットインスペクションライブラリ。接続メタデータを提供します
- mitmproxy: TLS 復号化のためのローカルプロキシ
- zdtun: root 不要のキャプチャのための最小限の TCP/IP スタック
サードパーティライブラリの完全なリストについては、アプリ内の「About」ページを確認してください。
ビルド
- Windows では、gitforwindows をインストールします
- このリポジトリをクローンします
- リポジトリディレクトリ内で
git submodule update --init を実行します。submodules ディレクトリが作成されるはずです。
- Android Studio でプロジェクトを開き、適切な SDK と NDK をインストールします
- アプリをビルドします
注記: 「No valid CMake executable was found」というエラーが表示された場合は、PCAPdroid が使用している CMake バージョン(現在は 3.22.1)を SDK マネージャーからインストールしてください。