AndroidのTraceroute
-
25-09-2019 - |
質問
私は Android プラットフォームの初心者で、tracerouting アプリを構築したいと考えています。そこで、以下に私が尋ねたい質問をいくつか示します。
Androidでそのようなアプリを作ることは可能でしょうか?可能であれば、私が従う道を教えてください。
Android は、ICMP パケットをキャプチャするための低レベル プログラミングをサポートしていますか?それとも、このアプリケーションをサポートするために、ある種の JAR (Java 内) またはその他のライブラリを追加する必要がありますか。
Java には JPCAP や docjar などの種類のライブラリがあり、IDE や Eclipse にインポートできるので、そのような種類の API を作成するための Java サポートはありますか?
貴重な提案が必要です。
解決
私は考えることができる最も簡単な方法は、ちょうど、traceroute
Linuxアプリケーションをチェックし、それを実行し、その出力を解析することです。
Androidはフルネットワークサポートを持っている、しかし、JavaはIPヘッダを変更するためのインタフェースを公開しません。そのため、手動でICMPパッケージを作り上げること(それは私はあなたがどんなバニラのインストール上で見つけることができません仮定のlibpcap、に依存するためJPCAPは、ここに何の助けではありません)問題外です。
別ののの可能な解決策は、NDKを使うとクランチハンドルは、低レベルの数という小さなライブラリを作成することです。 NDKはあなたがsetsockopt
を使用することができるようになる場合は、私はわからない。
他のヒント
これはかなり遅 - 誰かがそれを見るかもしれません。 私はこの1つを発見し、それは私のために働いていました: https://github.com/olivierg13/TraceroutePingする