如何用 Java 获取系统 IP

如何用 Java 获取系统 IP,第1张

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地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9767503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存