パケットをインターセプトして、接続の PID/UID とともに IP/ポート番号を取得したいと考えています。私が考えていることと以下にないこと...
- VpnService: アプリtPacketCaptureを使用すると、VpnService が開始されていることがはっきりとわかります。ここは、なんとかなると思うところです。ただし、Google で何を検索するか、VpnService について何を調べて、すべてのパケットが通過するためのチャネルとして機能し、パケットの内容を読み取ることができるようにする必要がありますか? tPacketCapture に取り組んでいる会社にメールを送りましたが、まだ返事がありません。誰かがこれについて何か考えているなら、あなたが知っていることを教えてください。
- /proc/[pid] ファイル システム。OS のこの領域には貴重な情報があり、最も重要なのは /proc/net/tcp と /proc/net/udp です。これらはどちらも興味深いものですが、これらのファイルを常に読み込んで自分ですべてを構築するのは好ましくありません。したがって、上記の VPN ソリューションです。
- それらは他のマイナーなものですが、最終的にはVpnServiceほどうまく機能しないので、誰かがそれを手伝って「ローカル」のみにするか、他の言語で他の例を見つけるために何を検索すればよいか、素晴らしいでしょう。
したがって、最終的に、私の質問は、VpnService を作成して、パケットを最初に行き来した場所との間で再ルーティングする方法です。
この問題に関する助けをいただければ幸いです。
ありがとう!