質問

私は Android プラットフォームの初心者で、tracerouting アプリを構築したいと考えています。そこで、以下に私が尋ねたい質問をいくつか示します。

  1. Androidでそのようなアプリを作ることは可能でしょうか?可能であれば、私が従う道を教えてください。

  2. Android は、ICMP パケットをキャプチャするための低レベル プログラミングをサポートしていますか?それとも、このアプリケーションをサポートするために、ある種の JAR (Java 内) またはその他のライブラリを追加する必要がありますか。

  3. Java には JPCAP や docjar などの種類のライブラリがあり、IDE や Eclipse にインポートできるので、そのような種類の API を作成するための Java サポートはありますか?

貴重な提案が必要です。

役に立ちましたか?

解決

私は考えることができる最も簡単な方法は、ちょうど、traceroute Linuxアプリケーションをチェックし、それを実行し、その出力を解析することです。

Androidはフルネットワークサポートを持っている、しかし、JavaはIPヘッダを変更するためのインタフェースを公開しません。そのため、手動でICMPパッケージを作り上げること(それは私はあなたがどんなバニラのインストール上で見つけることができません仮定のlibpcap、に依存するためJPCAPは、ここに何の助けではありません)問題外です。

別のの可能な解決策は、NDKを使うとクランチハンドルは、低レベルの数という小さなライブラリを作成することです。 NDKはあなたがsetsockoptを使用することができるようになる場合は、私はわからない。

他のヒント

これはかなり遅 - 誰かがそれを見るかもしれません。 私はこの1つを発見し、それは私のために働いていました: https://github.com/olivierg13/TraceroutePingする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top