Как я могу узнать, является ли IP хостом сайта или нет с помощью PHP (обратный IP) - PullRequest
0 голосов
/ 04 января 2012

Как я могу узнать, является ли IP хостом сайтов или нет по PHP (обратный IP)?

Например:

Этот IP 62.75.138.253 хост 5 сайтов www.earthwar.de, video-4u.com ..ect

Если у меня есть и IP, мне просто нужно знать, если на нем размещены веб-сайты или нет

Я думаю, что gethostbyaddr здесь не нужен

Может ли кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 04 января 2012

Как я могу узнать, является ли IP хостом домена или нет с помощью PHP?

Нет единственной функции для этого: это нетривиальная задача.gethostbyaddr() даст вам одно имя домена, которое было настроено как имя хоста для IP.Это все, что вы можете легко получить.

В Интернете существуют различные компании, которые собирают доменные имена, разрешают их и хранят информацию в базе данных.Вполне возможно, что есть платные сервисы, которые предлагают вам доступ к API, но это не то, что вы имеете в виду.

0 голосов
/ 07 ноября 2018

Я создатель host.io , который показывает вам список всех доменов, размещенных на одном и том же IP-адресе (вместе со списком доменов, которые ссылаются на домен, и многое другое).Например, вот список доменов, размещенных на том же IP-адресе, что и stackoverflow.com: https://host.io/stackoverflow.com

Как вы обнаружили, получение IP-адреса для одного домена является лишь очень малой частью решения.на ваш вопрос.Нет единой команды или сценария, которые вы можете написать для этого - вам нужно создать собственную базу данных доменов по IP-адресу.

Сначала необходимо получить (или создать) список всех доступных доменных имен.В настоящее время насчитывается около 250 миллионов.Следующим шагом является разрешение всех этих доменов на IP-адрес.Затем вам нужно сохранить все эти домены в IP-пары в базе данных, а затем вы можете запросить, чтобы получить список всех доменов на одном IP-адресе.И затем вам нужно делать это с регулярной периодичностью, чтобы убедиться, что он обновляется.

Чтобы дать полный пример, давайте создадим файл с 4 доменами и разрешим их по IP-адресам:

$ cat domains.txt
facebook.com
fb.com
stackoverflow.com
stackexchange.com

# Let's resolve the domains to IPs with dig - could use nslookup or similar
$ cat domains.txt | xargs -I% bash -c "dig +short % | tail -n1" > ips.txt
31.13.76.68
31.13.76.68
151.101.129.69
151.101.193.69

# Let's combine the domains and IPs using paste
$ paste domains.txt ips.txt > combined.tsv
$ cat combined.tsv
facebook.com    31.13.76.68
fb.com  31.13.76.68
stackoverflow.com   151.101.129.69
stackexchange.com   151.101.129.69

# Let's create a DB table and import the data, and write a query 
# to find any domains in our dataset that are hosted on the same 
# domain as stackoverflow.com

$ psql $DB_URL

=> create table details (domain text, ip text);
=> \copy details from ~/combined.tsv;

=> select domain from details where ip = (select ip from details where domain = 'stackoverflow.com');
      domain
-------------------
 stackoverflow.com
 stackexchange.com
(2 rows)

Вот так вы могли бы построить свой собственный, или вы могли бы позволить кому-то еще выполнять тяжелую работу и использовать их данные.Мы один из таких провайдеров, но существуют и другие, например yougetsignal и domaintools.

...