2012-02-28 8 views
0

以前に質問されたこの質問に似た問題がありますが、私の問題は異なります。ポートが開いていて、ファイアウォールによって自動的にブロックされていないかどうかを確認する必要があります。私が見つけたすべての例では、サーバーをバインドできるポートが見つかっただけですが、ファイアウォールによってポートがブロックされていないかどうかはチェックされません。ファイアウォールによってブロックされている場合、LANに接続されていないクライアントはサーバーに接続できません。誰かがこれを自動的に行う方法はありますか? Windowsで手動でポートをチェックするためにCMDを使うことができますが、私はこれを自動的に行う必要があります。ご迷惑をおかけして申し訳ありません。Javaサーバーソケット:ファイアウォールでブロックされていないオープンポートを探します。

+0

どのようにして-1が得られましたか?私は過去1時間にこれを研究しましたが、誰も私が見つけた解決策はありません。 – MrDrProfessorTyler

+1

ファイアウォールを設定/管理している担当者に問い合わせてください。あなたがWindowsのCMDが何をしていると思っていようとも、機械自体からこれを行う簡単な方法はありません。また、リモートホスト(またはパケットを再ルーティングできるポートスキャナー)上で実行されているポートスキャナーを使用することもできます。 –

+0

これは通常、ファイアウォールの反対側でクライアントがテストに協力することができない限り、通常は実行できません。ファイアウォールの管理者に問い合わせる方が早いでしょう。ファイアウォールは一般的に、自動的に設定を伝えるのにあまり協力しません。 – DNA

答えて

2

これはマニュアルではなくJava以外のビットですが、NMAPを実行してから結果をjavaに読み込むことができます。これにより、開いているポートを理解するのに役立ちます。

+0

役に立つヒントですが、どうしたらいいのか分かりません...私は人がこれを手動で行うようにします。ありがとう – MrDrProfessorTyler

+0

Javaでシステムコマンドを実行する方法を少し調べ、nmap..itsでドキュメントを読むだけで、実際には簡単です。試してみてください。 –

1

JavaおよびNmapを使用する場合は、nmap4j.sourceforge.netを使用できます.Nmapを実行するためのJava APIであり、結果をJavaオブジェクトに解析します。

関連する問題