7 / 7 / 3
Регистрация: 21.03.2018
Сообщений: 204

Получаем IP по имени сайта

13.06.2019, 07:25. Показов 9270. Ответов 5

Студворк — интернет-сервис помощи студентам
Подскажите как в Python получить ip-шник сайта , т.е. на примере утилиты dig (в Ubuntu стоит по умолчанию, в Windows надо устанавливать)
vova@comp ~ % dig +short google.com
64.233.162.113
64.233.162.100
64.233.162.102
64.233.162.139
64.233.162.138
64.233.162.101
vova@comp ~ % dig +short google.ru
64.233.165.94
ввел название сайта , получил список ip-шников на которых висит этот сайт, или если по правильному "Проверяет DNS-записи указанного домена"

так вот , подскажите как такое реализовать на Python , т.е. как получить DNS - записи либо указанного DNS-сервера либо любого публичного

Добавлено через 2 минуты
так то если без параметров то сервер DNS отдает больше инфы
vova@comp ~ % dig google.com

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2201
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 176 IN A 64.233.162.113
google.com. 176 IN A 64.233.162.101
google.com. 176 IN A 64.233.162.100
google.com. 176 IN A 64.233.162.139
google.com. 176 IN A 64.233.162.102
google.com. 176 IN A 64.233.162.138

;; Query time: 10 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Jun 13 14:24:04 +10 2019
;; MSG SIZE rcvd: 135

vova@comp ~ %
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2019, 07:25
Ответы с готовыми решениями:

Выбор имени для сайта
Приветсвую. Раньше где-то читал, что для Западных поисковиков одним из приорететов является само название сайта, в связи с этим у меня...

Изменение доменного имени сайта
Помогите решить такую проблему: при изменении доменного имени сайта shagvit.ga на http://shagvit.ru при переходе новому доменному имени на...

Отображение имени провайдера посетителям сайта
Всем привет. Появилась необходимость отображения посетителям сайта название их текущего интернет-провайдера. То есть человек заходит на...

5
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.06.2019, 20:41
Лучший ответ Сообщение было отмечено project2pro как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> import socket
>>> socket.gethostbyname('cyberforum.ru')
'185.112.80.14'
>>> socket.gethostbyname('yandex.ru')
'77.88.55.66'
>>> socket.gethostbyname('google.ru')
'64.233.165.94'
>>> socket.gethostbyname('fsb.ru')
'213.24.76.23'
>>> socket.gethostbyname('cia.gov')
'104.105.39.78'
>>> socket.gethostbyname('fbi.gov')
'104.16.77.187'
>>
P.S. Ну все - ты хакер. Добро пожаловать в клуб
1
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
13.06.2019, 20:44
Лучший ответ Сообщение было отмечено project2pro как решение

Решение

Python
1
2
3
import os, platform
if platform.system() == "Linux":
    print(os.system("dig +short google.com"))
Python
1
2
3
4
5
6
7
import socket
try:
    domain_name = 'google.com'
    ip = socket.gethostbyname(domain_name)
    print(ip)
except:
    print('error')
1
7 / 7 / 3
Регистрация: 21.03.2018
Сообщений: 204
13.06.2019, 21:51  [ТС]
Garry Galler, метод через сокеты я уже пробовал , это не надежно , сокет отдает только один ip-шник , а сайт может иметь и сотню ip-шников , к примеру возьми хотя бы тот же google.com, если только какой то параметр типа "подробно"

Добавлено через 9 минут
Garry Galler, извиняюсь что сначала написал а потом подумал,
Python
1
socket.gethostbyname_ex('google.com')
отдает весь лист адресов
еще раз спасибо

Добавлено через 3 минуты
New Life, спасибо за ответ, через dig тоже как вариант
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.06.2019, 22:23
Лучший ответ Сообщение было отмечено project2pro как решение

Решение

Аналогом (менее функциональным, но что есть то есть) dig в windows является nslookup:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
C:\Windows\System32>nslookup yandex.ru
Server:  dir-320
Address:  192.168.0.1
 
Non-authoritative answer:
Name:    yandex.ru
Addresses:  2a02:6b8:a::a
          77.88.55.70
          77.88.55.66
          5.255.255.70
          5.255.255.60
Цитата Сообщение от project2pro Посмотреть сообщение
я уже пробовал , это не надежно
Можно написать собственный DNS клиент, который будет напрямую обращаться к DNS серверам так как это делают dig и nslookup. Примеров - до кучи. Естественно, на github
https://github.com/ValeryTyumen/DNS-Client
https://github.com/search?l=Py... positories
1
7 / 7 / 3
Регистрация: 21.03.2018
Сообщений: 204
13.06.2019, 22:27  [ТС]
Garry Galler, спасибо за уточнение и детализацию вопроса, nslookup - я пробовал , я с ней работаю когда на винде ,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.06.2019, 22:27
Помогаю со студенческими работами здесь

Влияние дефисов в доменном имени сайта
Добрый день. Хотелось бы посоветоваться на счет домена stories-of-dreams.ru Отразится ли как то на поисковой выдаче или повлияет ли на...

как установить логотип на доменном имени сайта
Люди подскажите как установить логотип на доменном имени сайта.

Привязка 1 сертификата безопасности на 2 доменных имени 1 сайта
Есть домен вида http://abc.defgh.yz , к нему привязан сертификат и можно спокойно зайти через https Есть домен вида http://abc.yz, он...

Как повлияет замена имени сайта на продвижение
Подскажите, кто знает. Есть сайт со сложным названием, которое очень трудно объяснять по телефону, как правильно пишится этот сайт (сайт...

Win sock - нет возможности зайти по имени сайта, а только по IP
здравствуйте, помогите пожалуйста, на компе ни на одном из браузеров не могу зайти на сайт по имени сайта (например Yandex.ru , VK.com b...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru