
No.2ベストアンサー
- 回答日時:
LANのルータがすべての情報を持っていますが、最近はセキュリティを固めて内部からも簡単にアクセスできないことが多いです。
ということは、外部サイトに調べてもらう方法しかありませんから、こんなプログラムをよく使います(全角スペースは半角スペースに変えてからコンパイルしてください):--------------
/* 注意: whatismyipのサイトは、十分な時間間隔をあけて再接続しないと、サーバの過負荷で長時間無反応になることがあります。*/
import java.net.*;
import java.io.*;
public class FindExternalIP {
public static void main(String[] args) throws Exception {
String line = "--null--";
//無料サービスサイト: http://whatismyip.com/
URL url = new URL("http://www.whatismyip.com/automation/n09230945.a …
InputStreamReader in = new InputStreamReader(url.openStream());
BufferedReader br = new BufferedReader(in);
line = br.readLine();
System.out.println(line);
//上と類似のやり方, スイスのジュネーブのCERNのtraceroute Webサーバ
int i = 0;
url = new URL("http://iepmbw.cern.ch/cgi-bin/traceroute.pl");
in = new InputStreamReader(url.openStream());
br = new BufferedReader(in);
while ((line = br.readLine()) != null){
if ((i = line.indexOf("Your host is:")) != -1){
line = line.substring(i + 14, i + 24);
break;
}
}
System.out.println(line);
}
}
-----------------------------------
やはり外部にアクセスしないと無理ですかね
この方法は一応考えてはいたのですが・・・
ところでこのコードをコンパイルすると
1つ目のIPはすべて出ますが2行目のIPがたとえば1.2.3.4だとすると4の部分がないのですが・・・
このサーバの仕様ですか?
No.3
- 回答日時:
substringだと工夫しないとIPの文字数によって結果が変わると考えますのでやめておきます
やはりPerlで表示させてダウンロードすることにしました
やっと問題が解決しました
回答ありがとうございました

No.1
- 回答日時:
mamuru77さんのネットワーク環境がわからないので、
何とも答え難いです。
LANがどのような構成になっていて、どのようにWANに接続しているか、
説明が必要でしょう。
また、「LAN内部のアドレスでしか取得できません」とありますが、
どのようなコードでしょうか。
差し障りが無ければ、提示した方が良い回答を得られると思います。
この回答への補足
構成はとりあえずルータをつないでいます
LANの中のIPはそれが割り当てています
コードは
import java.net.*;
InetAddress.getLocalHost().getHostAddress().toString()
これで得られるStringがIPになっているのですがLANの内部のアドレスを返します
外部のアドレスはどうやっても返せそうにないのですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 固定IP MACアドレスはLAN内で相手を特定するアドレスですか? PCから監視カメラを閲覧するときに、セグメ 3 2022/07/23 09:04
- ルーター・ネットワーク機器 10Gbpsの恩恵 5 2022/11/16 15:48
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- FTTH・光回線 グローバルIPアドレスの変更について 1 2022/04/23 05:32
- その他(インターネット接続・インフラ) アプリ利用者を特定し、裁判に 2 2022/06/09 21:43
- ツイキャス ツイキャスでアカウントロックされたとき、IPアドレスが自動取得で変更されても、PC端末が特定される? 1 2022/10/15 15:49
- Wi-Fi・無線LAN 無線ルーターのIPアドレスは、iPhoneのように簡単に変更できる??? 2 2022/04/02 19:00
- ネットワーク 外部からローカルIPアドレスはわかる? 3 2022/07/05 00:53
- Windows 10 インストールしたてのVirtualBoxの仮想マシンにDHCPで割り振られるIPアドレスにつきまして 1 2023/05/03 14:46
- FTTH・光回線 光回線、中継器を導入した際の端末側のローカルipアドレスについて 3 2023/03/11 14:10
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
equalsの逆
-
テキストファイルにおいて任意...
-
yyyymmddからyyyy/mm/d...
-
Servletでテキストボックスに入...
-
ファイルの読み飛ばしが出来ま...
-
ProcessBuilderを使用して、対...
-
Inputstreamについて
-
Javaでデータに登録する度にID...
-
FileクラスのcanRead/canWrite...
-
ファイル読込みにおける改行表...
-
Javaの質問です。テキストファ...
-
オブジェクトの中のプロパティ...
-
C言語のポインターに関する警告
-
ダブルクォーテーションのrepla...
-
ループ処理の際、最後だけ","を...
-
JSPやサーブレットでSystem.out...
-
System.err. printlnとSystem.o...
-
javaで質問です。 文字列2023/2...
-
flush()とclose()について
-
ボタンの複数割り当てについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
テキストファイルから空白行をよむ
-
InputStream.read()でタイムア...
-
九九を横に表示する。
-
equalsの逆
-
Java int sum = 0は必要ですか?
-
csv出力について
-
BufferedReaderでのエラー
-
テキストファイルにおいて任意...
-
FileクラスのcanRead/canWrite...
-
[JAVA]エラーが解決できません。
-
Javaの質問です。テキストファ...
-
テキストファイルの任意の文字...
-
JAVAで、SSL通信
-
Class.forNameでエラーになる
-
javaのファイル読み込み時の文...
-
JAVAでエラーがでる。
-
Web上に表示されたデータをcsv...
-
java連結
-
linuxでapache poiが動かない。
おすすめ情報