普通はたった2つの言葉です:怠惰と怠惰;
成功はたった2つの言葉:苦難と勤勉;
卓越性はたった2つの言葉:あなたと私です。
私に従って、JAVA、春の家族のバケツ、Linuxの操作と保守の知識を0から学び、無知なティーンエイジャーから人生の頂点にあなたを連れて行き、Bai Fumeiと結婚してください!
WeChatパブリックアカウント[ ITは非常に信頼できる ]をフォローし、 技術的な経験を毎日共有してください〜
ネットワークカードのローカルIPアドレスとMACアドレスを取得します
1 MACアドレスとは何ですか?
MACアドレス(英語:メディアアクセス制御アドレス)、文字通りメディアアクセス制御アドレスとして翻訳され、LANアドレス、MACアドレス、イーサネットアドレス、または物理アドレスとも呼ばれます。ネットワークデバイスの場所を確認するために使用されるアドレスです。ではOSIモデル、第3のネットワーク層には責任があるIPアドレス、および第二のデータリンク層は、MACアドレスを担当しています。MACアドレスは、ネットワーク内のネットワークカードを一意に識別するために使用されます。デバイスに1つ以上のネットワークカードがある場合、各ネットワークカードには一意のMACアドレスがあります。
2IPアドレスとMACアドレスを取得します
次に、javaを介してローカルIPアドレスとネットワークカードのMACアドレスを取得します。
2.1IPアドレスを取得する
/**
* 获取本机IP地址
*/
private static String getIpAddress() throws UnknownHostException {
InetAddress ia = InetAddress.getLocalHost();
return ia.getHostAddress();
}
2.2ネットワークカードのMACアドレスを取得する
/**
* 获取本机使用网卡的MAC地址
*/
private static String getMacAddress() throws UnknownHostException, SocketException {
//获取IP地址,输出示例:WCGZ-DZ-013803/10.88.12.117
InetAddress ia = InetAddress.getLocalHost();
//获取网卡的MAC地址
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
StringBuffer sb = new StringBuffer("");
for (int i = 0; i < mac.length; i++) {
if (i != 0) {
sb.append("-");
}
//字节转换为整数
int temp = mac[i] & 0xff;
String str = Integer.toHexString(temp);
if (str.length() == 1) {
sb.append("0" + str);
} else {
sb.append(str);
}
}
return sb.toString().toUpperCase();
}
3完全なコード
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Main {
public static void main(String[] args) throws UnknownHostException, SocketException {
//获取本机IP地址
String ip = getIpAddress();
//获取本机网卡的MAC地址
String mac = getMacAddress();
log.info("IP地址为:{}, 本机网卡MAC地址为:{}", ip, mac);
}
/**
* 获取本机IP地址
*/
private static String getIpAddress() throws UnknownHostException {
InetAddress ia = InetAddress.getLocalHost();
return ia.getHostAddress();
}
/**
* 获取本机使用网卡的MAC地址
*/
private static String getMacAddress() throws UnknownHostException, SocketException {
//获取IP地址,输出示例:WCGZ-DZ-013803/10.88.12.117
InetAddress ia = InetAddress.getLocalHost();
//获取网卡的MAC地址
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
StringBuffer sb = new StringBuffer("");
for (int i = 0; i < mac.length; i++) {
if (i != 0) {
sb.append("-");
}
//字节转换为整数
int temp = mac[i] & 0xff;
String str = Integer.toHexString(temp);
if (str.length() == 1) {
sb.append("0" + str);
} else {
sb.append(str);
}
}
return sb.toString().toUpperCase();
}
}
4テスト結果
助けになったり、技術サポートが必要な場合は、私に注意してください〜