Python: обратный поиск DNS в общем хостинге

Есть ли способ сделать обратный поиск с помощью python, чтобы проверить список сайтов, имеющих один и тот же IP-адрес, на общем хостинге.

Некоторые веб-сайты предлагают инструмент для этой цели.

    DNSPython

    Технически вы можете использовать DNSPython для обратного поиска.

    Пип это установить

     $ pip install dnspython 

    Затем выполните обратный запрос:

     >>> from dns import resolver >>> from dns import reversename >>> addr = reversename.from_address("74.125.227.114") >>> resolver.query(addr, "PTR")[0] <DNS IN PTR rdata: dfw06s16-in-f18.1e100.net.> 

    socket.gethostbyaddr

    Вы также можете использовать socket.gethostbyaddr

     >>> import socket >>> name, alias, addresslist = socket.gethostbyaddr('192.30.252.130') >>> name 'ip1c-lb3-prd.iad.github.com' 

    Обратите внимание, что вы захотите проверить исключение socket.herror при использовании gethostbyaddr .

    Проблемы с обратным поиском

    Что касается определения того, какие сайты размещены на определенном IP-адресе, это может не дать лучших результатов в среде совместного размещения. Вероятно, это расскажет вам о провайдере, а не о сайте:

     14:38:43 ~/code/tmp$ ping mozeyondown.com PING mozeyondown.com (173.203.99.161): 56 data bytes 64 bytes from 173.203.99.161: icmp_seq=0 ttl=56 time=40.924 ms 

    Давайте посмотрим, какой адрес сейчас

     14:38:54 ~/code/tmp$ dig +noall +answer -x 173.203.99.161 161.99.203.173.in-addr.arpa. 86053 IN PTR 173-203-99-161.static.cloud-ips.com. 

    Просмотр его через Python

     >>> import socket >>> name, alias, addresslist = socket.gethostbyaddr('173.203.99.161') >>> name '173-203-99-161.static.cloud-ips.com' 

    То же самое касается использования DNSPython.