2016-04-01 3 views
0

特定のIPでホストされているドメインが何であるかを知るために、自動スクリプト(そのperl、bash、phpなど)を構築する方法があるのだろうかと思います。逆IPドメインチェックスクリプト

逆IPドメインチェックyougetsignal.comで実行しようとしています。

私の友人が私を助けましたが、ホストされたドメインにはサーバーアドレスのリストがありません。代わりに、IPアドレスのホストを取得するだけです。ここで

は、私はこれは一般に不可能である

<?php 

$file = fopen("71", "r"); 
$ip_file = fopen('iphosts', 'w'); 
$ip_add = fopen('ip_add', 'w'); 

$i = 1; 

while (! feof($file)) { 

    $host = fgets($file); 
    $host = rtrim($host); 

    echo "\n"; 
    echo "Connecting..." . $host; 
    echo "\n"; 

    $host_name = gethostbyaddr($host); 
    if (!empty($host_name) && $host != $host_name) { 
     fwrite($ip_file, $host_name."\n"); 
    } else { 
     fwrite($ip_add, $host_name."\n"); 
    } 

    echo " Done \n"; 
    $i++; 
} 

fclose($file); 
fclose($ip_file); 
fclose($ip_add); 


exit(0); 
+2

いいえ、一般的には可能ではないと思います。 – Barmar

答えて

5

を書かれているPHPコードです。仮想ドメインをホストするWebサイトは、通常、ホストするすべてのドメインを一覧表示する逆DNSを提供しません。逆のDNSはサーバ名を指しています。

あなたがリンクしているサイトは、おそらく検索エンジンのようにウェブをクロールしてその情報を取得します。しかし、ページ内のすべての単語のインデックスを作成するのではなく、見つかったすべての名前からアドレスへのマッピングを記録し、同じアドレスにマップされているすべての名前を返す逆索引を作成します。

+0

だから、実行可能なソリューションの1つは、私が手で掲示したリンク上でそのツールを使用することです...それは、大きなリストのために年を取るでしょう...とにかく感謝します。私は別の意見を聞きたいと思います... –

+0

'cURL'を使ってサイトにアクセスし、結果をスクラップすることができます。 – Barmar

+0

@ Cristian-DumitruPopescu別の意見:Barmarは正しいです。さらに、あなたがリストしたサービスと、Barmarが記述した方法論は、古いスタイルの共有/専用ホスティングの展開に基づいています。現在のロードバランス/サービス指向/クラウドベースのWebサイトは、絶えず変化するIPアドレスのリストに登場します。 – Sammitch

1

これはスクリプトから行うことはできません。例を挙げて説明しましょう。

12.34.56.78にサーバーがあり、そのサーバーには次の(独自の)Webサイトがホストされています。

www.example.com 
example.com 
www.example.org 
bob.example.net 
gertrudeisarealllyniceguy.banana 

ほとんどのWebサーバが動作する方法は、彼らが入ってくるホストヘッダーと一致するウェブサイトを提供することです。 だから、幸いにも、www.example.comの存在を発見するかもしれない、あなたは推測するかもしれないexample.combob.example.netが見逃される可能性が高くなります。

具体的にgertrudeisarealllyniceguy.bananaを要求しない限り、それが存在するかどうかは決して分かりません。だから、あなたは(それを脇にハッキングから)そのウェブサーバ上でホストされているすべてのウェブサイトを知っている可能性が唯一の可能な方法は、一つ一つの可能​​なドメイン名をしようとするだろう、それが現在持っている非常に長い時間(おそらくeons

サイトを取るだろうこの情報はWebクローラーからのデータを使用して、単にドメイン名とIPアドレスを持つ表の列を検索します。