import javanet;
public class Test6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
InetAddress ia=null;
try {
ia=iagetLocalHost();
String localname=iagetHostName();
String localip=iagetHostAddress();
Systemoutprintln("本机名称是:"+ localname);
Systemoutprintln("本机的ip是 :"+localip);
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
这个网上很多,主要是机器必须支持ICMP和NETBIOS协议。你参考一下:
public String getIP()
{
InetAddress inet;
try {
inet =
InetAddressgetLocalHost();
InetAddressgetByName("");
return
inetgetHostAddress();
} catch (UnknownHostException e) {
// TODO
Auto-generated catch block
eprintStackTrace();
}
return "";
}
Java中可以使用程序来获取本地ip地址和mac地址,使用InetAddress这个工具类,示例如下:
import javanet;public class NetInfo {
public static void main(String[] args) {
new NetInfo()say();
}
public void say() {
try {
InetAddress i = InetAddressgetLocalHost();
Systemoutprintln(i); //计算机名称和IP
Systemoutprintln(igetHostName()); //名称
Systemoutprintln(igetHostAddress()); //只获得IP
}
catch(Exception e){eprintStackTrace();}
}
}
也可以通过命令行窗口来查看本地ip和mac地址,输入命令:ipconfig。
你为什么要获取计算机名,你的目的就是获取计算机名字吗
既然你要取到客户的ip,说明你已经连接上了客户的计算机,那么在java中运行一下dos,执行一下netstat -n命令,所返回的ip地址就都是你的连接ip了知道ip后你就通过你的InetAddressgetByName(ip)getHostName();获取对方的计算机名字~
IP地址只是代表了访问的一个地址,是无法通过IP判断计算机名的。
windows 系统提供了命令行窗口来访问一些系统参数,可以使用ipconfig来查看IP地址。可以右键我的电脑,查看当前计算机名。
看你获取的是win系统还是linux系统了:
java执行 *** 作系统的网卡地址语句:
获取机器名:
[java] view plain copy
public String getLocalHostName() {
String hostName;
try {
InetAddress addr = InetAddressgetLocalHost();
hostName = addrgetHostName();
} catch (Exception ex) {
hostName = "";
}
return hostName;
}
获取IP(多个网卡时获取了多个IP):
[java] view plain copy
public List<String> getNetworkAddress() {
List<String> result = new ArrayList<String>();
Enumeration<NetworkInterface> netInterfaces;
try {
netInterfaces = NetworkInterfacegetNetworkInterfaces();
InetAddress ip;
while (netInterfaceshasMoreElements()) {
NetworkInterface ni = netInterfacesnextElement();
Enumeration<InetAddress> addresses=nigetInetAddresses();
while(addresseshasMoreElements()){
ip = addressesnextElement();
if (!ipisLoopbackAddress() && ipgetHostAddress()indexOf(':') == -1) {
resultadd(ipgetHostAddress());
}
}
}
return result;
} catch (Exception e) {
return null;
}
}
以上就是关于如何用 Java 获取系统 IP全部的内容,包括:如何用 Java 获取系统 IP、在Linux系统下用Java语言获取客户端的IP地址,MAC地址,客户端的主机名称、java如何查询本机ip地址和mac地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)