Cada TLD tiene un Whois server al que te ludes conectar por determinador puerto (43 creo) al que puedes consultar los datos. En el caso de los TLDs manejados por Verisign habrá que hacer una consulta adicional al Whois server de cada registrador para tener los datos del propietario del dominio, y ojo que cada registrador maneja su propio formato en los datos del whois.
Si piensas hacerlo con PHP, yo alguna vez use este:
http://www.nott.org/blog/php-whois-script.html