try {
ip = InetAddressgetLocalHost();
NetworkInterface network = NetworkInterfacegetByInetAddress(ip);
if (network != null) {
byte[] mac = networkgetHardwareAddress();
if(mac != null) {
Systemoutprint("MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < maclength; i++) {
sbappend(Stringformat("%02X%s", mac[i], (i < maclength - 1) "-" : ""));
}
Systemoutprintln(sbtoString());
}
} catch (UnknownHostException e) {
eprintStackTrace();
} catch (SocketException e) {
eprintStackTrace();
}
以XP系统为例,具体步骤:
建立这个程序,可以参照从这里开始的步骤。点击任务栏中的“开始”按钮,选择“所有程序”,再选择“附件”,再选择d出菜单中的“记事本”,打开记事本程序:
将以下内容复制到记事本,另存为后缀为bat的批处理文件:
COLOR 0A
CLS
@ECHO Off
Title 查询局域网内在线电脑IP
:send
@ECHO off&setlocal enabledelayedexpansion
ECHO 正在获取本机的IP地址,请稍等
for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do (
set "IP=%%i"
set IP=!IP:~1,-1!
ECHO 本机IP为:!IP!
goto :next
)
:next
for /f "delims= tokens=1,2,3,4" %%i in ("%IP%") do set range=%%i%%j%%k
ECHO&ECHO 正在获取本网段内的其它在线计算机名,请稍等
ECHO 本网段%range%内的计算机有:
for /f "delims=" %%i in ('net view') do (
set "var=%%i"
::查询在线计算机名称
if "!var:~0,2!"=="\\" (
set "var=!var:~2!"
ECHO !var!
ping -n 1 !var!>nul
))
ECHO
ECHO 正在获取本网段内的其它在线计算机IP,请稍等
for /f "skip=3 tokens=1, delims= " %%i in ('arp -a') do ECHO IP: %%i 正在使用
ECHO
ECHO 查询完毕,按任意键退出
pause>nul
在记事本窗口中,点击“文件”菜单,从d出菜单中选择“另存为”命令,在“保存类型”中选择“所有文件”,将“文件名”保存为bat的文件,如“查看局域网在线IPbat”。
打开运行该执行文件,在窗口中输入命令“nbtstat -a IP”,如以上面查到的“1010321”为例,输入“nbtstat -a 1010321”,则显示结果为:
就可以看到对方IP的mac地址了。
public static String getMacAddressIP(String remotePcIP) {
String str = "";
String macAddress = "";
try {
Process pp = RuntimegetRuntime()exec("nbtstat -A " + remotePcIP);
InputStreamReader ir = new InputStreamReader(ppgetInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = inputreadLine();
if (str != null) {
if (strindexOf("MAC Address") > 1) {
macAddress = strsubstring(
strindexOf("MAC Address") + 14, strlength());
break;
}
}
}
} catch (IOException ex) {
}
return macAddress;
}
以上就是关于在linux用java根据ip获得mac地址全部的内容,包括:在linux用java根据ip获得mac地址、如何查局域网某ip的mac地址、JAVA中如何获取指定IP的MAC地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)