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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB .netにて現在時刻+1時間後...
-
NTPサーバから時刻を取得する
-
javaで週の最初の日(例:月曜日...
-
データベースをランダムで読み込む
-
outlookでメールのフォルダパス...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
VBA リストボックス複数選択か...
-
VBAで検索をかけその結果の表示...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListViewで複数選択された項目...
-
指定のURLのタイトルを取得...
-
コンボボックス表示文字列を取...
-
iframe内で表示されてるサイト...
-
IFRAME内のURLを取得したです。
-
EnumWindowsのコールバック関数
-
like演算子内に変数って使えな...
-
VBScriptで数値にコンマを付け...
-
ListView 項目の選択/選択解除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
VBAでActiveDirectoryのユーザ...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
データ数をカウントしたいのですが
-
Spreadの選択行の取得について
-
利用者側のMACアドレスを取得し...
-
JavaScriptにおいてコンピュー...
-
Flexgridで選択行の列の値を取...
-
VBA Shapesの座標からセル位置...
-
like演算子内に変数って使えな...
-
JavaScriptでWindowsログオンID...
-
IFRAME内のURLを取得したです。
-
ListViewで複数選択された項目...
-
Google Apps Script で、Web上...
-
URIでのページの移動について
-
NTPサーバから時刻を取得する
-
「Excel VBA」 Webクエリ マク...
-
VB .netにて現在時刻+1時間後...
おすすめ情報