
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。
import javanetInetAddress;
import javanetUnknownHostException;
public class Test
{
public static void main(String[] args) throws UnknownHostException
{
InetAddress inet = InetAddressgetLocalHost();
Systemoutprintln("本机的ip=" + inetgetHostAddress());
}
}
本机ip地址:
即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。
用处:
一、检查主机的TCP/IP协议是否安装并正常工作,方法:输入以下代码
c:\>ping127001
Pinging127001with 32 bytes of data:
Reply from127001: bytes=32 time<1ms TTL=128
Reply from127001: bytes=32 time<1msTTL=128
Reply from127001: bytes=32 time<1ms TTL=128
Reply from127001: bytes=32 time<1ms TTL=128
Ping statistics for127001:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Appro\eximate round trip time= in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
c:\>
二、用于网络软件测试以及本地机进程间通信,方法:输入以下代码
/
server1c
Create TCP server socket, accept
one TCP client connection using
socket(), bind(), listen() and
accept()
foster <jamescfoster@ >
/
#include <stdioh>
#include <sys/typesh>
#include <sys/socketh>
#include <netinet/inh>
int
main (int argc, char argv[])
{
struct sockaddr_in sin ;
struct sockaddr_in csin;
socklen_t len = sizeof(struct sockaddr);
short port = 0;
int csock = 0;
int sock = 0;
int ret = 0;
if(argc != 2)
{
printf("usage: %s: port\n", argv[0]);
return(1);
}
port = atoi(argv[1]);
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0)
{
printf("TCP server socket() failed\n");
return(1);
}
memset(&sin, 0x0, sizeof(struct sockaddr_in ));
sinsin_family = AF_INET;
sinsin_port = htons(port);
sinsin_addrs_addr = INADDR_ANY;
ret = bind(sock, (struct sockaddr )&sin,
(struct sockaddr));
if(ret < 0)
{
printf("TCP server bind() failed\n");
close (sock);
return(1 );
}
ret = listen(sock, 5);
if(ret < 0)
{
printf("TCP server listen() failed\n");
close (sock);
return(1 );
}
printf("TCP server listening\n");
memset(&csin, 0x0, sizeof(struct sockaddr));
csock = accept(sock, (struct sockaddr )&csin, &len);
if(csock < 0)
{
printf("TCP server accept() failed\n");
}
else
{
printf("TCP server: TCP client connection " \
"on port %d\n", port);
close(csock);
}
close(sock);
return(0);
}
localhost、127001和本机IP的区别如下:
1、首先 localhost 是一个域名,在过去它指向 127001 这个IP地址。在 *** 作系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1] 。
在 Windows 中,这个域名是预定义的,从 hosts 文件中可以看出:
而在 Linux 中,其定义位于 /etc/hosts 中:
注意这个值是可修改的,比如把它改成1920682061,还是可以ping通。
2、127001 这个地址通常分配给 loopback 接口。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要 *** 作系统的网络组件是正常的,loopback 就能工作。Windows 中看不到这个接口,Linux中这个接口叫lo:
可以看出 lo 接口的地址是 127001。事实上整个 127 网段都算能够使用,比如你 ping 127002 也是通的。 但是使用127001作为loopback接口的默认地址只是一个惯例。
3、本机IP,确切地说,“本机地址”并不是一个规范的名词。通常情况下,指的是“本机物理网卡所绑定的网络协议地址”。由于目前常用网络协议只剩下了IPV4,IPX/Apple Tak消失了,IPV6还没普及,所以通常仅指IP地址甚至ipv4地址。
扩展资料:
1、整个127 网段通常被用作 loopback 网络接口的默认地址,按惯例通常设置为 127001。这个地址在其他计算机上不能访问,就算你想访问,访问的也是自己,因为每台带有TCP/IP协议栈的设备基本上都有 localhost/127001。
2、本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到。
3、最后从开发度来看,localhost是个域名,性质跟 “>
4、127001 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。
参考资料:
127001-百度百科
localhost-百度百科
方法1:
在win10系统中,选择本机连接的无线网络,鼠标右键点击属性,接着在d出的设置里面翻到最下面,就可以看见本机的ip地址了。
方法2:
1,按住win+r 运行,输入cmd,点击确定,在命令符中输入 ipconfig 敲车,在最下方就可以看到ip地址。
方法3:
在设置里面打开网络设置,网络属性,可以查询到以太网连接的信息和本地连接的信息状态等等。
方法4:
在联网的情况下,进入百度搜索栏直接搜索IP地址,即可查看本机的ip地址。
以上就是关于java如何查询本机ip地址和mac地址全部的内容,包括:java如何查询本机ip地址和mac地址、怎样用JAVA程序获取本机ip 、本机ip地址指的是什么。用处在哪等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)