Re:mac-address ip rede

kra usa o comando no dos ou no shell…
arp [ip]
lhe retornara o mac desejado…
flw

Tenta isso, mas só apartir do Java 6:

public String getMac(){ String resposta = new String(""); try { InetAddress inet = InetAddress.getByAddress("localhost", new byte[]{127, 0, 0, 1}); NetworkInterface net = NetworkInterface.getByInetAddress( inet ); resposta = net.getHardwareAddress(); } catch (UnknownHostException ex) { ex.printStackTrace(); } catch (SocketException ex) { ex.printStackTrace(); } return resposta; }

Pesquise sobre InetAddress e verá outras formas.

Veja esse link, tem o que você precisa

http://www.paulovittor23.org/?p=28

para java 6
Tem uma linha que é assim:
InetAddress localHost = InetAddress.getLocalHost();//Linha 21 no link que mandei

basta substituir por uma das opções abaixo:

InetAddress localhostIP = InetAddress.getByName(“maquina1”);
InetAddress localhostIP = InetAddress.getByAddress(“192.168.0.15”, new byte[]{192, 168, 0, 15});
InetAddress localhostIP = InetAddress.getByAddress(“maquina1”, new byte[]{192, 168, 0, 15});

Segue abaixo uma aplicação exemplo, porem caso ela não atenda você pode usar um comando como o arp -a, como o maicon.santiago sugeriu

[code]import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;

public class GetHostName {
public static void main(String[] args) throws IOException {
String ip = “192.168.0.15”;

	try {
		InetAddress addr = InetAddress.getByName(ip);

		//procura pelo ip, comando equivalente ao ping
		if (addr.isReachable(5000)) {
			// Pega o nome da maquina
			String hostname = addr.getHostName();

			// Pega o apelido da maquina
			String hostnameCanonical = addr.getCanonicalHostName();

			System.out.println("hostname:" + hostname);
			System.out.println("hostnameCanonical:" + hostnameCanonical);

			NetworkInterface netInter = NetworkInterface.getByInetAddress(addr);
			if (netInter != null) {
				byte[] mac = netInter.getHardwareAddress();
				if (mac != null) {
					for (int i = 0; i < mac.length; i++) {
						System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
					}
				} else {
					System.out.println("sem privilégios");
				}
			} else {
				System.out.println("sem privilégios");
			}
		} else {
			System.out.println("ip não encontrado");
		}
	} catch (UnknownHostException e) {
		System.out.println("desconhecido");
	}
}

}[/code]

topico ta meio antigo, eu sei… mas ainda precisamos de uma solucao…

primeiro respondendo, nao sei se ele ja resolvel o caso…

quando vai pra pingar outro ip q nao seja o seu, ele nao responde… é por causa do firewall q bloqueia.
ai desativei todos… blz… agora a aplicacao consegue pingar o ip, mas nao consegue pegar o macAddress… diz que nao tenho privilegios… algiuem sabe como resolver:?

Gente tem como eu informar um ip e percorrer toda a minha rede atraz do mac address referente aquele ip ?

O negocio é que eu quero pegar um mac-address do Ip que eu informar e nao so o do localhost .

falow

Quando é informado o ip local funciona certinho , mas quando informo o ip de outra maquina lança um Exception !!!

Tentei fazer isoo mas É acusado um erro nessa linha .