Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements())
{
NetworkInterface nif = interfaces.nextElement();
byte[] lBytes = nif.getHardwareAddress();
StringBuffer lStringBuffer = new StringBuffer();
if (lBytes != null)
{
for (byte b : lBytes)
{
lStringBuffer.append(String.format("%1$02X ", new Byte(b)));
}
}
System.out.println(lStringBuffer);
}
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.*;
我所说的欺骗是指如果有人在安装windows后,在注册表中或通过软件更改mac地址。我在stack overflow的一篇关于其他问题的帖子中读到过,一个人评论说,他写的代码即使有人欺骗了mac也能工作,因此代码不好。所以我想这可以在Java中完成。我本来想问的,但我不能。我的意思是,如果PC或笔记本电脑没有无线,它应该采取以太网的mac地址。
从某种意义上说,被关闭的网络接口的MAC地址并不存在。考虑MAC地址可能在设备初始化时作为命令行参数提供给接口。无论如何,这也是Java难以在非活动网络接口上报告MAC地址的原因之一。
实际上,您可以使用runtime.exec(...)
或类似的方法来运行ifconfig
命令,然后解析输出以提取MAC地址。但是,我不知道这是否永远行得通。
我不认为您试图做的事情有多大意义(因为上面的原因),但是如果您要尝试这样做,您首先需要确认运行ifconfig
会告诉您未连接和/或未通电的WiFi网络接口的MAC地址。手册页在这里。确认之后,阅读javadocs forruntime.exec(...)
和processbuilder
。如果您需要更基本的教程,请尝试以下教程:http://alvinalexander.com/java/java-exec-processbuilder-process-1
我还想知道如何检查他们是否欺骗了mac adress
通过欺骗,我假设您想知道网卡的MAC地址是否已经从其(硬件)默认值改变。您无法从Java中区分这一点。事实上,我怀疑你甚至能从本质上说出这一点。
坦率地说,如果您尝试在(纯)Java中这样做,是否会取得任何进展是值得怀疑的。标准的Java API根本不支持这种事情。
问题内容: 我使用的是Api级别8的Android,我想获取我的以太网接口的地址(eth0)。 在API级别8中,NetworkInterface类没有函数getHardwareAddress()。WifiManager也不起作用,因为它不是无线接口。 提前致谢! 问题答案: 假设您的以太网接口是eth0,请尝试打开并读取文件。
本文向大家介绍IP地址和MAC地址之间的区别,包括了IP地址和MAC地址之间的区别的使用技巧和注意事项,需要的朋友参考一下 MAC地址和IP地址,都用于识别网络或Internet上的计算机。MAC地址由NIC卡的制造商提供,并提供计算机的物理地址。IP地址由Internet服务提供商提供,被称为网络上连接的计算机的逻辑地址。 以下是MAC地址和IP地址之间的一些重要区别。 序号 键 MAC地址 I
问题内容: 我想检索用于访问特定网站的网络接口的以太网地址。 用Java如何做到这一点? 解决方案 请注意,公认的的解决方案仅在Java 6中可用。除了执行i(f | p)confing,似乎没有Java 5的解决方案。 问题答案: java.net.NetworkInterface.getHardwareAddress(Java 6中添加的方法) 必须在您感兴趣的机器上调用它- MAC不会跨网络
问题内容: 我正在尝试制作一个可以更改PC /笔记本电脑IP地址和子网掩码的程序。我要输入的内容与Windows(ip / subnet,dns / alternate dns)上IPv4属性的接口相似。 我现在可以想到的是使用netsh命令更改Windows ip。我想做的是在Windows上设置/获取以太网设置 提前致谢 问题答案: 您可以在JAVA中更改注册表,这应该可以解决问题。这些应该有
说明 地址URL /v1/common/Address/getAddress 支持格式 {url}?k1=v1&k2=v2&k3=v3&... HTTP请求方式 GET 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权
问题内容: 我知道我们可以通过IE(ActiveX对象)获取用户的MAC地址。 有没有一种方法可以使用JavaScript获取用户的MAC地址? 问题答案: 我同意所有先前的答案,即如果您能够直接从Javascript执行此操作,则它将是一个隐私/安全漏洞。我可以想到两件事: 使用Java(带有签名的applet) 使用签名的Javascript,在FF(通常是Mozilla,通常在Mozilla