リンク層、IP層、TPヘッダなどすべてのヘッダを持つ読み込みフレームを作成したい。私はこれがJAVA環境では不可能だと思います。AndroidでrawソケットをNDKで実装することは可能ですか?
しかし、これらのことをアンドロイドのNDKで行うことは可能ですか?
アンドロイドでwireshark(ヘッダーを読み込む)のようにプログラムを作成する方法ができない場合は、
リンク層、IP層、TPヘッダなどすべてのヘッダを持つ読み込みフレームを作成したい。私はこれがJAVA環境では不可能だと思います。AndroidでrawソケットをNDKで実装することは可能ですか?
しかし、これらのことをアンドロイドのNDKで行うことは可能ですか?
アンドロイドでwireshark(ヘッダーを読み込む)のようにプログラムを作成する方法ができない場合は、
VpnServiceでIPパケットをキャプチャできます。
VpnServiceは、独自のVPNソリューションを拡張して構築するアプリケーションの基本クラスです。一般的に、仮想ネットワークインターフェイスを作成し、アドレスとルーティングルールを構成し、ファイルディスクリプタをアプリケーションに返します。ディスクリプタからの各読み取りは、インターフェイスにルーティングされた発信パケットを取得します。ディスクリプタへの各書き込みは、インターフェイスから受信したのと同じように、着信パケットを注入します。インターフェイスはインターネットプロトコル(IP)上で実行されているため、パケットは常にIPヘッダーで開始されます。アプリケーションは、トンネルを介してリモートサーバーとパケットを処理し交換することによって、VPN接続を完了します。
あなたが探しているのはおそらくrootが必要です。参照してください:http://stackoverflow.com/questions/2608478/raw-sockets-on-android –
私はそれがルートのアクセス許可を必要と知っています。しかし、私が知りたいことは、 'socket(AF_INET、SOCK_RAW、IPPROTO_XX)'のような関数でNDK上で可能であるということです。 –