A pergunta é um pouco complicada. Normalmente, o Whois é um bom lugar para começar, pois dá a você uma ideia do site, incluindo os servidores de nomes que, muitas vezes, mas nem sempre lhe dão uma dica sobre o provedor de hospedagem.
Para descobrir onde um site está localizado, você precisa obter seu endereço IP. Isso é tão fácil quanto fazer um "ping" no site. Melhor ainda, se você usar o traceroute, ele mostrará todos os saltos entre o seu computador e esse site - e geralmente os saltos imediatamente anteriores lhe darão uma pista do roteador do seu ISP. Importante, usando traceroute fará uma pesquisa inversa sobre os domínios e isso irá ajudá-lo a descobrir quem é o seu ISP. Você pode pesquisar no Google os resultados para tentar encontrar um detalhe de contato para o nome de domínio deles.
Outra técnica pode ser ver e ver como o correio é tratado para o site e ver se há um link (mais uma vez, nem sempre). Para fazer isso, você precisa fazer uma pesquisa de DNS para o registro MX do site. (Googling "MX Lookup") deve ajudá-lo a criar uma ferramenta para isso. Se eles estão enviando suas correspondências para um ISP, você deve ser capaz de fazer um WHOIS para encontrar mais informações sobre o ISP e contatá-los.