當前位置:才華齋>IT認證>JAVA認證>

Java怎麼獲取MAC地址

JAVA認證 閱讀(1.11W)

Mac地址就是在媒體接入層上使用的地址,通俗點說就是網絡卡的實體地址,現在的Mac地址一般都採用6位元組48bit(在早期還有2位元組16bit的Mac地址)。下面小編準備了關於Java怎麼獲取MAC地址的文章,提供給大家參考!

Java怎麼獲取MAC地址

前24位由是生產廠家向IEEE申請的廠商地址。後24位就由生產廠家自行定以了。(早期的2位元組的卻不用申請)

IP地址和Mac地址有什麼聯絡和區別

大家都知道,現在有很多計算機都是通過先組建區域網,然後通過交換機和Internet連線的(大學裡的校園網就是這樣)。然後給每個使用者分配固定的IP地址,由管理中心統一管理,這樣為了管理方便就需要使用Mac地址來標誌使用者,防止發生混亂,明確責任(比如網路犯罪)。另外IP地址和Mac地址是有區別的,雖然他們在區域網中是一一對應的關係。IP地址是跟據現在的'IPv4標準指定的,不受硬體限制比較容易記憶的地址,而Mac地址卻是用網絡卡的實體地址,多少與硬體有關係,比較難於記憶。

如何知道自己的Mac地址

方法比較多,也比較得簡單,在這裡介紹兩種常用的方法,在Win9x 可用:WinIPcfg獲得,在2000、XP可用IPconfig -all獲得。如果你已經給自己的網絡卡分配了IP還可以用 nbtstat -A 自己的IP 如下圖,後者只能在2000/XP下使用。

  如何獲得別人的Mac

其實上面已經涉及到了,如果是2000/XP使用者可以用 nbtstat -A IP地址(還可以獲得別的東東啊,可別學壞啊)。另外同一區域網內的,你可以用ping IP 或者ping 主機名,然後用arp -a 來獲得。

  如何修改自己的Mac地址

Mac地址是儲存在網絡卡的EPROM裡面,通過網絡卡生產廠家提供的修改程式可以更改儲存器裡的地址,即使網絡卡沒有這樣的設定我們也可以通過間接的方法修改,一般網絡卡發出的包的源Mac地址並不是網絡卡本身寫上去的,而是應用程式提供的,只是在通常的實現中,應用程式先從網絡卡上得到Mac地址,每次傳送的時候都用這個Mac做為源Mac而已,Windows中,網絡卡的Mac儲存在登錄檔中,實際使用也是從登錄檔中提取的,所以只要修改登錄檔就可以簡單的改變Mac

  Win9x中修改:

開啟登錄檔編輯器,在HKEY_LOCAL_MacHINESYSTEMCurrentControlSetServiceClassNet下的0000,0001,0002 Win2000/XP中的修改:同樣開啟登錄檔編輯器,HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面新增字串變數,命名為"NetworkAddress",值為要設定的Mac地址,例如:000102030405

完成上述操作後重啟就好了。

  Linux下的修改:

1.必須關閉網絡卡裝置,否則會報告系統忙,無法更改。

命令是:"ifconfig eth0 down"

2.修改Mac地址,這一步較Windows中的修改要簡單。

命令是:"ifconfig eth0 hw ether 00?AA?BB?CC?DD?EE"

3.重新啟用網絡卡

"ifconfig eth0 up"網絡卡的Mac地址更改就完成了。

現在還有很多軟體提供了修改Mac地址的功能,如:Mac2001

那麼既然IP和Mac地址都可以改,那麼怎麼防禦呢?通過簡單的交換機埠繫結(埠的Mac表使用靜態表項),可以在每個交換機埠只連線一臺主機的情況下防止修改Mac地址的盜用,如果是三層裝置還可以提供:交換機埠-IP-Mac 三者的繫結,防止修改Mac的IP盜用,這種方法更有效!