Утиліта WHOIS, відома IDN, утиліта Windows


1

Я використовую відмінника Марка Русиновича whois.exeдля виконання WHOIS-запитів із командного рядка в Microsoft Windows. Це працює дуже добре, але він не обробляє IDN. Наприклад, якщо я намагаюся перевірити свій домен ändlöslängtan.se, я намагаюся whois ändlöslängtan.seне відповідати. Якщо я вручну перетворити ändlöslängtan.seв xn--ndlslngtan-p5af5u.se(наприклад , використовуючи адресний рядок Google Chrome, і буфер обміну), він працює. Однак було б набагато зручніше, якби утиліта CLI могла зробити це перетворення автоматично.

Питання: Чи є легка утиліта Windows CLI, подібна до Марка Русиновича whois.exe, яка автоматично перетворює IDN?


Чи можете ви пояснити, що саме таке "перетворення" (на xn--ndlslngtan-p5af5u.se) ви зробили? Я недостатньо розумію інтернаціоналізацію, щоб знати, з якої верхівки.
Тревор Салліван

@TrevorSullivan: Я не знаю деталей, але річ у тому, що інтернаціоналізоване доменне ім’я (як ändlöslängtan.se) автоматично перетворюється браузером (чи іншим програмним забезпеченням) у версію, що стосується лише ASCII, що є "фактичним" доменним іменем ( але звичайно не відображається користувачеві). Погляньте на Вікіпедію .
Андреас Рейбранд

Відповіді:


4

Linux Whois клієнт Марко D'Itri робить підтримує ИДИ, тому я придумав портирования Windows. Наприклад, ваш запит відображається так:

>whois ändlöslängtan.se
# Copyright (c) 1997- .SE (The Internet Infrastructure Foundation).
# All rights reserved.

[cut]

# The data is in the UTF-8 character set and the result is
# printed with eight bits.

state:            active
domain:           xn--ndlslngtan-p5af5u.se (A☼ndlA¶slA☼ngtan.se)
holder:           andrea4342-00001
admin-c:          -
tech-c:           -
billing-c:        -
created:          2011-02-20
modified:         2014-02-10
expires:          2015-02-20
transferred:      2014-02-10
nserver:          ns2.loopia.se
nserver:          ns1.loopia.se
dnssec:           unsigned delegation
status:           ok
registrar:        Loopia AB

Метод @sahmeepee був правильним, хоча і непрямим, але вам потрібно встановити бібліотеки IDN + ICONV. Під час перенесення я вважав за краще статично зв’язувати їх, щоб отримати автономний виконуваний файл.

Ви можете знайти перший випуск разом із вихідним кодом на моїй сторінці github .


1
Добре. Я підготував нову версію, яка правильно підтримує символи, що не належать до ASCII, у відповіді сервера (як у рядку "домен:" вище).
mfornasa

0

Я не зміг знайти саме те, що ви хотіли, але пакет gnu libidn має програму під назвою "idn", яка має опцію "-a", яка забезпечує перетворення, яке ви здійснюєте. Знайти бінарні файли для Windows було не так просто, але я натрапив на це посилання на бінарні файли для трохи старшої версії:

http://josefsson.org/gnutls4win/libidn-1.19.zip

Ви повинні мати можливість використовувати idn -a та передавати висновок у свою команду whois для досягнення результату, який ви шукали. Щоб зробити це зручніше, ви можете зробити пакетний файл, який приймає доменне ім'я як параметр, тому вам не доведеться вводити обидві команди кожен раз.


Я ще не зрозумів, як користуватися цією утилітою. Він повертає те, що виглядає правильно, але не ( xn--dllgtan-9ebd278h.se). Він також скаржиться: libidn: warning: libiconv not installed, cannot convert data to UTF-8. Нова версія (1,28) також виходить з ладу, але дещо іншим способом ( idn: could not convert from ASCII to UTF-8жодного виходу зовсім libiconvнемає).
Андреас Рейбранд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.