Você deve ser capaz de obter whois para praticamente qualquer domínio, na verdade, há regulamentos para garantir que isso aconteça. Mas obviamente não é o caso sempre. Para fazer whois corretamente a partir da linha de comando, você deve primeiro:
1) conecte-se a whois usando o switch -h com um dos servidores desta lista:
link
NOTA: cada finalização / tld tem um "registrador principal"
2) O que você recebe em retorno, incluirá um campo que fornece o endereço do servidor whois do registrador onde o domínio está realmente registrado.
NOTA: Você pode obter todas as informações de registro somente do registrador em que o domínio está realmente registrado.
Se você executar:
$ whois google.com
Ele tentará fazer isso para você em segundo plano (até onde eu entendi), mas dependendo do sistema e da versão whois, muitas vezes não está indo bem e também pode ser propenso a ser limitado por uma taxa.
Abaixo um exemplo de código rápido para fazer whois "corretamente". Testei-o com um grande número de sites e ele evita os problemas comuns de limite de taxa e retorna uma taxa de "resultado completo" muito maior do que qualquer outro método que tentei.
TLD=$(echo $DOMAIN | cut -d. -f2-)
WHOIS=$(grep -w ^$TLD whois_server.txt | cut -d ' ' -f2)
timeout 2 whois -h $WHOIS "domain "$DOMAIN"" | grep " " | grep -v "Status:" | tr ':' '=' | tr -d ' ' | tr '[a-z]' '[A-Z]' > whois.bash
REGIST=$(cat whois.bash | grep WHOISSERVER | cut -d= -f2)
timeout 2 whois -h $REGIST $DOMAIN | grep : | grep -w '^Admin City\|^Admin Country\|^Registrant Organization\|^Registrant Name' | tr [a-z] [A-Z] | sed 's/\ /_/' | sed 's/:/=("/' | tr -d ' ' | sed 's/$/")/' | tr '/' '_' >> whois.bash;