2017-03-02 13 views
0

に対処するためのURLに: 入力の場合:<IP-Address> - >出力(EXACT !!!):www.example.comIPは、私が欲しい

問題:私は、WebのIP-アドレス(51.254.201.70)の一つだけを持っている場合それがどのウェブサイトであるかを知りたければ、私はこのようにしか得られません:70.ip-51-254-201.eu。私は正確なwww.webmoney.ruに取得したい

私が見つけるした内容:どのように私はHTMLコードを送信しているウェブサイトを見つけることでしょう

package PACK; 

import java.net.InetAddress; 
import java.net.UnknownHostException; 

public class IPtoHost4 { 

    // Input:www.webmoney.com -> Output: All IP-Adresses of this Page 
public static void main(String[] args) throws UnknownHostException { 


     for (InetAddress addr : InetAddress.getAllByName("www.webmoney.ru")) { 

      System.out.println(addr.getHostAddress() + " : " + getHost(addr)); 
     } 

    // Output: 
    // 5.199.142.158 : www.webmoney.ru 
    // 51.254.201.70 : www.webmoney.ru 
    // 62.210.115.140 : www.webmoney.ru 
    // 88.99.82.144 : www.webmoney.ru 

    // Input:All-IPs -> Output: hostnames 
    String[] ips = { "5.199.142.158", "51.254.201.70", "62.210.115.140", "88.99.82.144" }; 
    for (String i : ips) { 
     InetAddress ip = null; 
     ip = InetAddress.getByName(i); 
     System.out.println(getHost(ip)); 
    } 
    // Output: 
    // z158.zebra.servdiscount-customer.com 
    // 70.ip-51-254-201.eu 
    // 62-210-115-140.rev.poneytelecom.eu 
    // static.144.82.99.88.clients.your-server.de 

} 

static String getHost(InetAddress ip) { 
    String hostName = ""; 
    hostName = ip.getHostName(); 

    return hostName; 

} 

}

+0

これらのドメインは、おそらく、IPSのために正しいものです。あなたが照会しているドメインがあなたをリダイレクトしていると思われるかもしれません。それに加えて、 "webmoney"と ".ru"はとにかく怪しいように見えるので注意が必要です。 – Thomas

+0

1つのIPアドレスに複数のドメイン名([仮想ホスティング](https://en.wikipedia.org/wiki/Virtual_hosting))が存在することがあります。 –

+0

こんにちは。私はWiresharkのIPアドレスだけを持っています。そして私は、自分のサーバーから私のユーザーが訪れる真のHTMLウェブサイト(DNSサーバーとドメインは私にとって興味深いものではない)を見つけ出したい。 –

答えて

0

が、私は解決策を持っていますリダイレクトのために301/302。しかし、私がHTMLコード200を取得する場合、私はホスト名を識別することができます。私はウェブサイトのフルネームを確認したいと思います。

は、例を参照してください:あなたが得る

public static void main(String[] args) throws IOException { 

    String ip = "78.129.242.2"; 
    URL myURL = new URL("http://" + ip); 

    HttpURLConnection con = (HttpURLConnection) myURL.openConnection(); 
    con.setInstanceFollowRedirects(false); 
    con.connect(); 

    // HTML-Code from a website 
    int responseCode = con.getResponseCode(); 
    System.out.println(responseCode); 

    // HTTP 200 OK 
    if (responseCode == 200) { 
     InetAddress addr = null; 
     addr = InetAddress.getByName(ip); 
     String host = addr.getHostName(); 
     System.out.println(host); 
    } 

    // HTTP 301 oder 302 redirect 
    else if (responseCode == 301 || responseCode == 302) { 
     String location = con.getHeaderField("Location"); 
     System.out.println(location); 
    } else { 
     System.out.println("Bad Web Site" + " ResponceCode: " + responseCode); 
    } 
} 
関連する問題