2012-03-28 13 views
1

javaを使って自分のローカルネットワークに端末のOSバージョンを取得する方法があります。 私はUPNPがそれを行うことができると聞いたが、私はそれをどのように使用するのか、そしてJavaで良い実装があるかどうかわからない。ネットワーク端末のOSバージョンを取得する(JAVA)

PS:私はターゲット端末でアクティブになっているかどうかわからないため、SNMPを使用できません。

答えて

0

nmap-オプションを使用することができます。端末でクライアントを実行する必要はなく、精度はほぼ完全です。

+0

私は醜い方法**のexec()**機能を使用する必要があります。私の端末にnmapがインストールされている必要があり、アンチウィルスに問題があり、それが合法でないときには安全ではありません。 –

+0

あなたのネットワークでNmapを使用すると、実際にNmapに違法なことはありません。とにかくスクリプトを実行するマシンにのみNmapをインストールする必要があります。おそらく、あなたはexecの使用を避けるいくつかのJava APIを見つけることができます。 – raz3r

+0

OK存在する場合はAPIを検索します。 –

1

http://nmap4j.sourceforge.net - NmapをラップするJava APIです。

+0

正確ではありませんが、答えに感謝します。私は、純粋なJavaや、OSバージョンのおおよその検出を可能にする他のソリューションとして、NMapの指紋OS検出を再発明しています。 –

+0

あなたは大歓迎です。私は、OSのフィンガープリンティングのための純粋なJava実装を見つけることは難しいと思う。私が理解しているように、これを行うには特定の種類の生のパケットを送る必要があります。これを行うには、OS特有のAPIとマシンへのルートアクセスが必要です。 NmapのOSフィンガープリンティングのサポートはかなり良く、多くの支持者がいます。 Plus Nmapは非常によく管理されており、毎年多くのリリースを行い、多くのバグを修正しています。私は常にユーザーと開発者のコ​​ミュニティが非常に有用であると感じました。 – Jon

関連する問題