WHOIS - это сетевой протокол прикладного уровня (TCP порт 43). Описан в RFC 3912. Архитектура «клиент-сервер».
Какую информацию можно получить с помощью Whois? Служит для получения регистрационных данных о владельцах:
Базы данных WHOIS бывают централизованными и распределёнными. Распределённые БД позволяют регистраторам включать в записи произвольную информацию о своих клиентах.
Протокол WHOIS создан без учета поддержки национальных языков (с кодировкой символов ASCII: Расшифровка аббревиатуры, история и применение), стандарт не регламентирует кодировку запросов клиента и ответа сервера. В случае использования доменных имен и зон на национальном языке (например, кириллица или китайские иероглифы) используется специальный алгоритм кодирования Punycode DNS. Для избежания конфликтов с уже зарегистрированными доменами использование латинских букв в них запрещено.
Чтобы можно было не менять инфраструктуру Раздел DNS: Что такое DNS, было предложено преобразовывать имена, содержащих символы национальных алфавитов, в слова, состоящие только из допустимых ранее символов ASCII: Расшифровка аббревиатуры, история и применение, причём делать это в клиентских приложениях. Таким образом, для поддержки IDN Интернационализованные Доменные Имена достаточно, чтобы их понимал браузер пользователя. Он должен уметь переводить их в символьную кодировку Punycode DNS, позволяющую представить любые символы Unicode с помощью разрешённого ранее набор символов ASCII. Чтобы в таком представлении IDN Интернационализованные Доменные Имена нельзя было спутать с обычными доменными именами, они начинаются со специального префикса «xn–», например, «xn–abc.com» — IDN в Punycode-представлении, а «abc.com» — обычное доменное имя. Фактически интернационализованные доменные имена являются псевдонимами для имён начинающихся с «xn–».
Строка «xn–e1afmkfd.xn–80akhbyknj4f» демонстрирует Punycode- представление для реально существующего IDN «пример.испытание»: http://пример.испытание/. В базах DNS- cерверов хранится только Punycode- представление, а в браузере можно вводить как то, так и другое. В браузерах, не поддерживающих IDN, удастся использовать только Punycode- представления IDN.
Организация ICANN утвердила несколько национальных домен верхнего уровня:
Пошаговая инструкция для нахождения всех IP вашего провайдера интернет (ISP).
$ whois -h whois: ключ должен использоваться с аргументом -- «h» Использование: whois [ПАРАМЕТР]... ОБЪЕКТ... -l одноуровневый минимальный поиск [только RPSL] -L найти всё при минимуме указанных совпадений -m найти первый уровень при максимуме указанных совпадений -M найти всё при максимуме указанных совпадений -c найти наименьшее совпадение, содержащее атрибут mnt-irt -x точное совпадение [только RPSL] -d возвращать также реверсные делегированные объекты DNS [только RPSL] -i АТР[,АТР]... выполнить инверсный поиск для указанных АТРибутов -T ТИП[,ТИП]... поиск только объектов с типом ТИП -K возвращать только основные ключи [только RPSL] -r выключить рекурсивный просмотр контактной информации -R всегда показывать локальную копию объекта домена даже если она содержит перенаправление -a искать во всех базах -s ИСТОЧНИК[,ИСТОЧНИК]... искать в базе ИСТОЧНИКА -g ИСТОЧНИК:ПЕРВЫЙ-ПОСЛЕДНИЙ найти обновления ИСТОЧНИКА от ПЕРВОГО до ПОСЛЕДНЕГО -t ТИП запросить шаблон для объекта с типом ТИП ('all' для списка) -v ТИП запросить расширенный шаблон для объекта с типом ТИП -q [version|sources|types] запросить указанную информацию о сервере [только RPSL] -F быстрый сырой вывод (включает также -r) -h УЗЕЛ присоединиться к УЗЛУ -p ПОРТ присоединиться к ПОРТУ -H скрыть правовые оговорки --verbose разъяснять, что происходит --help показать эту справку и закончить работу --version показать информацию о версии и закончить работу
Для того чтобы найти все IPs вашего провайдера, нужно знать ваш реальный IP (или один любой IP ISP). Далее
$ whois -h whois.ripe.net 82.117.234.77
whois -h whois.ripe.net -i origin AS34248 | grep route route: 82.117.224.0/19 route: 85.90.192.0/19 route: 85.90.192.0/23 route: 85.90.192.0/24 route: 85.90.193.0/24 ...
уберем лишнее
whois -h whois.ripe.net -i origin AS34248 | grep route | awk '{print $2}'
Существуют организации (всего 5), которые распределяют IP по странам:
В идеале все службы ИС ГНЗ должны регулярно обновлять свои данные из этих ресурсов. Проблема в том, что все берут эту информацию из разных источников и через разные промежутки времени. Некоторые сервисы обновляют свои базы данных GEO регулярно, а другие не обновляют их годами.