1

Другой вопрос whois, могу ли я взять вывод подключения telnet к файлу.

telnet whois.internic.net 43

затем я

=google.com

и получить ответ.

Могу ли я получить это, чтобы вернуться в файл для обработки после закрытия соединения.

1 ответ1

1

Почему бы просто не использовать команду whois ?

whois -h whois.internic.net =google.com > whois.txt

Хотя в этом случае я получаю лучший ответ от

whois =google.com > whois.txt

добавление

Telnet отлично подходит для интерактивного исследования произвольных текстовых протоколов TCP (таких как SMTP, WHOIS и т.д.), Но он не очень хорош для сценариев

попробуйте вместо netcat

$ echo =google.com | nc whois.internic.net 43 > whois.txt

$ head whois.txt

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Server Name: GOOGLE.COM.ZZZZZZZZZZZZZZZZZZZZZZZZZZZ.LOVE.AND.TOLERANCE.THE-WONDERBOLTS.COM
   IP Address: 50.62.130.9
   Registrar: GODADDY.COM, LLC



$ tail whois.txt
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability.  VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.



$ grep -i status whois.txt
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Status: serverDeleteProhibited
   Status: serverTransferProhibited
   Status: serverUpdateProhibited

Я получаю тот же вывод от netcat, как и от script + telnet. Netcat намного проще

$ grep 'Name Server' whois.telnet | dos2unix | tee a
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name Server: NS3.GOOGLE.COM
   Name Server: NS4.GOOGLE.COM
$  grep 'Name Server' whois.netcat | tee b
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name Server: NS3.GOOGLE.COM
   Name Server: NS4.GOOGLE.COM
$ diff -s a b
Files a and b are identical

Другие идеи

Каноническим инструментом для сценариев Telnet является expect .

Каноническим инструментом для захвата вывода терминала является script .

В этом случае я думаю, что они не подойдут для вашей задачи (но вы можете не согласиться)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .