obtener nombre de dominio local o de la red
buenas, quisiera orientacion de como poder obtener el nombre del dominio al cual esta conectada una maquina, estoy realizando una aplicacion de monitoreo para fines de auditoria interna y hasta ahora solo he logrado obtener la ip, nombre de la maquina, usuario del OS, fecha y la hora.
ejemplo:
User OS:XXXXX
WorkStation:XXXXX
IP:XXXXX
Domain:?
este es mi codigo:
public class CsytecSocketInf {
private InetAddress address;
private Calendar calendario;
private String userIp;
private String userMachine;
private String userDomain;
private String userSystem;
private String fecha;
private String timer;
public String getUserIp() {
try {
address = InetAddress.getLocalHost();
byte[] bIPAddress = address.getAddress();
String sIPAddress = "";
for (int x=0; x 0) {
sIPAddress += ".";
}
sIPAddress += bIPAddress[x] & 255;
userIp=sIPAddress;
}
} catch (UnknownHostException e) {
System.out.println( e.toString() );
}
return userIp;
}
public String getUserMachine() {
try {
address = InetAddress.getLocalHost();
userMachine=address.getHostName();
} catch (UnknownHostException e) {
System.out.println( e.toString() );
}
return userMachine;
}
public String getUserSystem() {
userSystem=System.getProperty("user.name");
return userSystem;
}
public String getfecha(){
calendario = Calendar.getInstance();
String año = Integer.toString(calendario.get(Calendar.YEAR));
String mes = Integer.toString(calendario.get(Calendar.MONTH) + 1);
String dia = Integer.toString(calendario.get(Calendar.DATE));
fecha=dia+"-"+mes+"-"+año;
return fecha;
}
public String gettimer(){
calendario = Calendar.getInstance();
String hora = Integer.toString(calendario.get(Calendar.HOUR_OF_DAY));
String minuto = Integer.toString(calendario.get(Calendar.MINUTE));
String segundo = Integer.toString(calendario.get(Calendar.SECOND));
timer=hora+":"+minuto+":"+segundo;
return timer;
}
public String getuserDomain(){
return userDomain;
}
}
- Inicie sesión o regístrese para enviar comentarios
A tu metodo
A tu metodo
creo le faltaria esto
URL u;
try {
u = new URL(url);
}
catch (Exception e) {
return "";
}
return u.getHost();
}
rsp: A tu metodo
hola hugo.garcia , en verdad gracias por tu comentario pero si podrias explicarme que hace la estructura de codigo que me dejastes, es que intente correrlo pero no me genera nada... quizas porq estoy asignando un string vacio a la variable u de tipo URL, pero en si que representa url? de donde la obtengo? tengo que asignarsela manualmente?
mi aplicacion requiere que al momento de ejecutarse, la misma pueda capturar por medio de un metodo getDomain el nombre del dominio de red o grupo de trabajo al cual esta registrada la pc.
si es workgroup o si es un dominio de red.
Gracias amigo garcia.
Bueno
Primero que nada URL (con mayusculas es una clase) url(minusculas) es un atributo de tipo String entonces yo vi en tu código que tienes un metodo que se llama
getUserDomain()
entonces yo me equivoque al llamar al metodo que te sugerigetUserName(String url)
Bueno llamale como tu quieras
url deber ser una cadena de texto y puede contener la direccion ip de la PC o un nombre tipo www.javamexico.org solo para terminar
yo cambiaria
return "";
}
por
return e.getMessage();
}
Podrias leer la API de java y ver la definicion de la clase URL y asi tener más claro que es lo que hace el segmento de código que te propongo
Saludos