Estou tentando fornecer uma maneira para os usuários da minha LAN se "registrarem" no administrador da rede (eu) sem precisar a) hospedar uma página no meu computador b) hospedar um script no servidor central (já que é apenas um roteador, não é realmente um servidor HTTP sólido) ou c) inscrever-se em um Domínio Dinâmico para qualquer um dos dois primeiros e evitar a confusão de enviar uma URL para um link para um IP local.
Existe uma maneira simples de exibir o endereço IP local na tela por meio de um script do lado do cliente? Estou pensando que talvez eu pudesse ter um iframe que aponte para algum URL genérico com algum javascript no caminho, para que os usuários possam ir para um site não local, e o iframe apareceria com o endereço IP que eles pode então entrar em um formulário na página remota principal.
Se tudo mais falhar, existe uma maneira de eles procurarem seu IP que seja multiplataforma e não envolva o uso da linha de comando (acho que a primeira, mesmo que impossível, é provavelmente mais realista que a segunda).
Responder1
Existe uma maneira simples de exibir o endereço IP local na tela por meio de um script do lado do cliente?
Não, pelo menos não conheço nenhuma maneira multiplataforma de fazer isso em Javascript. É improvável que exista, pois isso seria uma falha de segurança considerável (qualquer site que você visitar poderia recuperar sua configuração de rede, que pode ser considerada informação privada e pode ajudar em ataques). É possível usar IE e ActiveX, mas eu não recomendaria (não é multiplataforma, não sei se funciona em IEs recentes).
Você pode fazer isso a partir de um miniaplicativo Java (se estiver assinado), pois você tem acesso total ao sistema (também pode ser possível a partir do Flash).
Dito isto:
Talvez você possa explicar por que acredita que precisa disso. Por que os usuários precisam se “registrar” em você? Por que você precisa do endereço IP deles?
Por que você simplesmente não fornece endereços IP via DHCP?
Se você explicar seu problema/objetivo com mais detalhes, talvez haja uma maneira melhor.