プライベートアドレス

[戻る]
新入社員 2002/07/17(水) 16:34:33
いま、HTMLファイルを開いた時に開いたパソコンのプライベートアドレスを
取得しようとがんばってます。
このHTMLファイルは社内のLANだけで使う予定です。

そこでJAVAアプレットを使ってプライベートアドレスをとれないかと試行錯誤してます。
普通のグローバルアドレスは取得できるのですがプライベートアドレスとなると・・・
見当がつきません。

サーブレット?(servlet)を使うと取得できるようなのですが
サンプルコードを見ますとコードの中でHTMLのコードも含まれていて
私の第1印象として、これはHTMLも一緒に作るものなのか?と思っています。
         コードの1部↓
        out.println("<body>");
        out.println("<h3>Request Information Example</h3>");
        out.println("Method: " + request.getMethod());


JAVA単体でかまわないのでプライベートアドレスを取得する方法は無いでしょうか?
出来ればCGIなどは使わない方法がいいのですが・・・。

kusa [HomePage] 2002/07/24(水) 10:28:15
HTMLファイルを開いたという表現があいまいですが
WEBサーバー上にあるHTMLファイルをブラウザーを
用いて閲覧したとしてみます。

方法としては、
1.埋め込まれたアプレットよりクライアント情報を取得する。
2.サーブレットを用いてセッション情報からクライアント情報
  を取得する。
3.Applet→Servlet通信を行ってソケットの接続情報よりアドレス
  を取得する。

の方法が考えられると思います。

1.の方法の場合
  InetAddress#getLocalHost()#getHostAddress();
  で取得することができますが、最近のIEはセキュリティー
  の制限のためループバックアドレス(127.0.0.1) 
  を戻してくるのでクライアント環境に左右されてしまいます。

2.の方法は、プロキシを通していると
  プロキシのアドレスになってしまいます。
  社内LAN等の限られた環境内では可能ではないかと思います。

3.の方法
    URL url = getCodeBase();
    Socket socket = new Socket(url#getHost(), 80);
   socket#getLocalAddress()#getHostAddress();

  とかですが非常に面倒なシステムを組むことになりそうです。

新入社員 2002/08/05(月) 14:16:16
[[解決]]
IPアドレスの取得は難しいですね。
半分あきらめかけです・・・

古いスレッドには追加発言できません。