Identificação da Máquina

5 respostas
Felipe3D

Salve Galera !!!

Estou tentando fazer uma aplicação que me ajude a medir a utilização da Intranet no trabalho. Para isso preciso saber quais áreas estão acessando determinadas partes da intranet. Preciso também ter uma espécie de auditoria. Saber exatamente quem está acessando o que.
Resumindo: Preciso pegar o nome da máquina (e se possível o nome do usuário logado na máquina) que está acessando um link. Procurando aqui no GUJ, achei esse programinha.

//: WhoAmI.java

//Finds out your network address when youre

//connected to the Internet.

import <a href="http://java.net">java.net</a>.<em>;

import java.applet.</em>;

import javax.swing.JApplet;

import java.awt.Graphics;

import java.applet.AppletContext;

import java.awt.<em>;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.</em>;

import javax.swing.*;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;
public class nome extends JApplet {

InetAddress b ;

String i=new String();

public void init() {

i=(String)getParameter(Ip);

try{

b = InetAddress.getByName(i);
//g.drawString(b.getHostName(),25,25);
	}catch(Exception e){
		;
	}
}
public void paint (Graphics g){
	try{
	b = InetAddress.getByName("10.2.102.39");
	String x=new String();
	x=(String)b.getHostName();
	g.drawString(x,25,25);
	}catch(Exception e){
		;
	}
}

}

Se eu rodá-lo como um programa normal, funciona. Mas se transformar em applet (q foi o q fiz), ele só retorna o IP da máquina.
Tem como resolver isso ??? ou seja,
Teria como retornar o nome da máquina e o usuário logado ???

Valew !!!
[]
Felipe Campos.

5 Respostas

pcalcado

Voce quer saber o que uma maquina esta acessando, se uma maquina pode acessar um determinado site ou qual o IP da maquina que acessou o site? :roll:

Quando vc for postar codigo, coloque-o entre as tags [ code]
e [ /code], assim ele ficará
endentado.\n’

Felipe3D

Salve Phillip !!!
O que estou tentando pegar é o nome do computador e se possível o usuário que está logado na máquina. O IP eu consigo pegar. O nome eu só consigo ver ses eu rodar a aplicação localmente. Se colocá-la no servidor e acessar via browser eu só consigo ver o IP. E como o IP é dinâmico, não serve para saber que máquina acessou determinado link.
Um Exemplo:
O Applet (que está no servidor web), ao ser rodado via browser, apresenta a seguinte informação: 10.2.102.39 (que é o ip da minha máquina). Mas não mostra a máquina nem quem está logado nela.

Eu gostaria que ele apresentasse as seguintes informações:
IP: 10.2.102.39
Máquina: SMA0404
Login: Felipe_CS

Por enquanto não estou fazendo a parte que vai verificar o link clicado…
Eu só estou querendo colocar o applet em uma pagina HTML no servidor e, ao chamá-la, me devolver as 3 informações citadas acima.

[]

JP1

Olá,

não testei, mas se você quer ter o nome do usuário, sem usar nada extra(DLL + JNI), você pode fazer assim:

String usuarioNome = System.getProperty("user.name");

Ele retorna o usuário logado.

+ info sobre Propriedades do Sistema.
http://java.sun.com/docs/books/tutorial/essential/system/properties.html

eu uso essas:
String sistemaNome = System.getProperty("os.name");
        String sistemaVer = System.getProperty("os.version");
        String sistemaPatch = System.getProperty("sun.os.patch.level");
        String sistemaArquitetura = System.getProperty("os.arch");
        String sistemaArqDados = System.getProperty("sun.arch.data.model");
        
        String usuarioDiretorioAtual = System.getProperty("user.dir");
        String usuarioDiretorio = System.getProperty("user.home");
        String usuarioNome = System.getProperty("user.name");
        String usuarioPais = System.getProperty("user.country");
        String usuarioLingua = System.getProperty("user.language");
Felipe3D

JP,

Eu testei esse código… Realmente funciona mas, só localmente…
Em um applet não funciona.

Li em algum lugar que o applet precisa estar assinado para funcionar…
Andei dando uma procurada sobre esse assunto e me pareceu que não é algo trivial… Alguém teria uma dica ou um passo a passo ???

Valeu !!!

Felipe3D

Salve Galera !!!

Funcionou !!! :lol:

Bastou assinar o applet…

Agora o problema é outro… As informações que o applet pega, preciso mandar para um ASP que irá efetuar o tratamento e gravação das mesmas… Um amigo disse pra eu fazer um LiveConnect. O que Também não é nada simples… Dei uma olhada em alguns sites… Alguém teria uma dica de site com uma explicação mais simples… :oops:

Valeu !!!

Criado 25 de julho de 2005
Ultima resposta 26 de jul. de 2005
Respostas 5
Participantes 3