Я не уверен, что вы пытаетесь сделать здесь, но, посмотрев на ваш код и протестировав его локально, я могу вам сказать, что вам приходится искать по множеству хостов, чтобы найти те, которые содержат 'id'в качестве имени хоста для большинства адресов IPv4 используются сами IP-адреса.
Другая проблема, с которой вы сталкиваетесь, заключается в том, что вы выполняете один поток, и это означает, что вы запросите 1 имя хоста IP-адреса, а затем подождитедля ответного ответа.
Если вы хотите увидеть, что делает ваш код, попробуйте запустить приведенный ниже модифицированный код.
<?php
$newline = "\n";
$hit = 0;
$id = "id";
$hosts = 0;
while ($hit < 10) {
$a = rand(0, 255);
$b = rand(0, 255);
$c = rand(0, 255);
$d = rand(0, 255);
$ip = "$a.$b.$c.$d";
$name = gethostbyaddr("$a.$b.$c.$d");
print($name . $newline);
if (!strpos($name, $id) === false) {
print " " . "<a href=\"$name\">$name</a>" . $newline;
$hit++;
}
$hosts++;
print($hosts . $newline);
}
print $newline;
print "Copyright Search Engine" . $newline;
?>
Я остановился на более чем 500 хостах, и он все еще продолжалс каждым хозяином, занимающим около секунды каждый. Это означает, что для обхода всех 14+ миллиардов IPv4-адресов уйдет целая вечность, не говоря уже о том, что вы, вероятно, получите повторы с использованием случайного выбора.
Рад помочь вам еще больше в достижении того, что вы пытаетесьделать, если вы сообщите нам