![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.4ベストアンサー
- 回答日時:
import java.net.NetworkInterface;
import java.util.Enumeration;
public class GetMacAdr{
public static void main(String args[]) throws Exception{
String nicaddr = "";
// このマシン上のネットワークインタフェースをnicに格納
Enumeration<NetworkInterface> nic = NetworkInterface.getNetworkInterfaces();
while( nic.hasMoreElements() ) {
NetworkInterface n = nic.nextElement();
//インタフェース名を表示
System.out.print( n.getName() + " : " );
//MACアドレスをbyte[]で取得
byte[] addressByte = n.getHardwareAddress();
// 取得したMACアドレスをStringへ変換
if( addressByte != null ){
for( byte b : addressByte ){
nicaddr = nicaddr + String.format( "%02X", b);
}
}
// Stringクラスのnicaddrを表示
System.out.println( nicaddr );
nicaddr = "";
}
}
}
API見て分かるように、JDK6でないと出来ません。更にLinuxならroot権限で実行する必要あります。
あと、これは自PCのMACアドレスに対してですよ。他のPCのMACアドレス取得はできません。他のPCのMACアドレスを取得したい場合、jpcapを使う手があります。
No.3
- 回答日時:
>取得するAPIはない
よっこらせっと
http://java.sun.com/javase/6/docs/api/java/net/N …
http://java.sun.com/javase/6/docs/api/java/net/N …
この回答への補足
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Macget{
public static void main(String args[]) throws Exception{
String nicaddr = "0";
// このマシン上のネットワークインタフェースをnicに格納
Enumeration<NetworkInterface> nic = NetworkInterface.getNetworkInterfaces();
while( nic.hasMoreElements() ) {
NetworkInterface n = nic.nextElement();
//インタフェース名を表示
System.out.print( n.getName() + " : " );
//MACアドレスをbyte[]で取得
byte[] addressByte = n.getHardwareAddress();
//以下,整形と表示処理
if( addressByte != null ){
int bytenum = addressByte.length;
for(int i=0; i<bytenum; i++){
String printAddress;
int addressInt = 0x0FF & addressByte[i];
if( addressInt < 10 ){
printAddress = "0" + Integer.toString(addressInt);
}else{
printAddress = Integer.toHexString(addressInt);
}
nicaddr = "0" + Integer.toString(addressInt);
System.out.print( printAddress);
}
}
System.out.println();
}
}
}
こういうサンプルがあったので参考にしているんですが
ここで出したMACアドレスをString型などの変数に
入れて生きたいのですが可能ですかね?
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- デスクトップパソコン 古ーいパソコン/Atheros AR2181 PCIe Gigabit LAN コントローラー 7 2022/09/07 12:58
- 固定IP MACアドレスはLAN内で相手を特定するアドレスですか? PCから監視カメラを閲覧するときに、セグメ 3 2022/07/23 09:04
- その他(セキュリティ) 写真のMACアドレスは何でしょうか? LINEアンチウイルスをAndroidスマホへインストールし、 2 2022/09/20 21:16
- その他(インターネット接続・インフラ) ホームページのログイン認証の際、PCから相手方サーバーに対し送信されるMACアドレスについて 1 2022/10/17 14:14
- UNIX・Linux Rasberry pi のオンボードNICのMacアドレスが変わってしまう 3 2023/03/08 22:34
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Mac OS ミュージックのアートワークを自動取得させない方法について 1 2022/11/17 01:12
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Mac OS M1MacでMinecraftをやりたいです Javaなんちゃらもダウンロードしてあとは購入するだけ 1 2023/02/25 07:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
検索結果のハイライト表示
-
VBAでActiveDirectoryのユーザ...
-
バージョンナンバーの取得
-
VBA リストボックス複数選択か...
-
vbaで、オートシェイプ文字幅と...
-
C# 仮想リストビュー
-
TextOut関数のカレントポジショ...
-
データ数をカウントしたいのですが
-
GridViewのDropDownLisについて
-
count(*)で取得した値をJAVAの...
-
VBA Shapesの座標からセル位置...
-
C言語について。
-
C言語について。
-
ExcelVBAを使って、値...
-
Excelのプルダウンで2列分の情...
-
DataGrdViewに関連付けたデータ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
ListView 項目の選択/選択解除...
-
データ数をカウントしたいのですが
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
Flexgridで選択行の列の値を取...
-
like演算子内に変数って使えな...
-
ListViewで複数選択された項目...
-
getParameter と getAttribut...
-
JSP+Servletでのページングの常識
-
JavaScriptでWindowsログオンID...
-
利用者側のMACアドレスを取得し...
-
Spreadの選択行の取得について
-
Excel VBA でログインしてい...
-
コンボボックス表示文字列を取...
-
C言語におけるコンピュータ名・...
-
「Excel VBA」 Webクエリ マク...
-
VBScriptで数値にコンマを付け...
-
エクセルVBAで複数選択できるよ...
おすすめ情報