Pegar nome da máquina de um cliente

Olá pessoal

Tenho uma duvida.
Estou desenvolvendo uma aplicação numa máquina servidor que tem JBoss.
Eu quero pegar o nome do computador de cada cliente que acessar esta aplicação.
É possível?

Obrigado

O “NOME” ou o IP?

o nome do computador
se eu tiver uma rede e vários pc’s clientes acessarem a aplicação, o IP será o mesmo… daí não resolve o meu problema!
vou gravar esses dados em Cookies.

Obrigado

Você poderia usar um applet assinado para pegar a tal informação, e mesmo assim não seria lá muito confiável.

Os headers que o browser manda não têm essa informação de nome da máquina - só outras coisas, como o browser (no meu caso, Firefox 3.0.6) Por exemplo:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Connection: keep-alive
Host: www.grc.com
Referer: http://www.grc.com/x/ne.dll?rh1dkyd2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
Cookie: ppag=tvrx5krasdj3w; pcss=tvrx5krasdj3w; pico=tdqzm5bwjblkx; tpag=tvrx5krasdj3w; tico=tdqzm5bwjblkx; tcss=tvrx5krasdj3w
Content-Length: 31
Content-Type: application/x-www-form-urlencoded
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
FirstParty: https://www.grc.com
ThirdParty: https://www.grctech.com
Secure: https://www.grc.com
Nonsecure: http://www.grc.com
Session: 1gu4rpp3zcuof

queria em código java…

Amigo, tente isto:

PegaNomeComputador.java

import java.util.*;
import java.lang.*;
import java.net.*;

public class PegaNomeComputador
{
  public static void main(String args[]) {
    try{
      String nomecomputador=InetAddress.getLocalHost().getHostName();
      System.out.println(nomecomputador);
    }catch (Exception e){
      System.out.println("Exception caught ="+e.getMessage());
    }
  }
}

Abracos

Pegou o nome do PC do Servidor… Mas será que isso que estou tentando fazer tem jeito?

Também estou precisando fazer isso, alguem sabe se é possivel?

Isso tudo está na documentação: http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServlet.html

HttpServletRequest.getRemoteHost retorna o nome do host que está acessando.
HttpServletRequest.getRemoteAddr retorna o IP do host que está acessando.

Já tentei isso!
Retornou o IP, porém o nome do host não é exibido.

Pra quem ainda precisar, segue a solução;

public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain filterChain) throws IOException, ServletException {		
  HttpServletRequest httpRequest = (HttpServletRequest) request;
  InetAddress address;
  try {
    address= InetAddress.getByName(httpRequest.getRemoteHost());
    System.out.println("NAME: "+address.getHostName()+" - IP: "+httpRequest.getRemoteHost()));
  } catch (UnknownHostException e) {
    e.printStackTrace();
  }
}