Java怎麼獲取MAC地址
Mac地址就是在媒體接入層上使用的地址,通俗點説就是網卡的物理地址,現在的Mac地址一般都採用6字節48bit(在早期還有2字節16bit的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盜用,這種方法更有效!
-
Java main方法經典面試題
以下是筆者認為比較經典的關於Javamain方法的面試題,與其説是Java面試題,其實也是Java的一些最基礎知識問題,分享給大家,希望對大家面試有所幫助!1.不用main方法如何定義一個類?不行,沒有main方法我們不能運行Java類。在Java7之前,你可以通過使用靜態初始化運行Java...
-
Java工程師面試題
Java編程語言是個簡單、面向對象、分佈式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和靜態的語言。那麼java工程師的面試題是什麼呢?下面跟yjbys小編一起來看看吧!1.int和Integer的區別integer是一個類,對他的操作要通過類的方法,int是8中基本數據...
-
2016年二級Java試題及答案
1、下列敍述中,錯誤的是______。A、Applet的默認佈局管理器是FlowLayoutB、JApplet中增加構件是加到JApplet的內容面板上,不是直接加到JApplet中C、JApplet的內容面板的默認佈局管理器是BorderLayoutD、JApplet的內容面板的默認佈局管理器是FlowLayout本題考的是...
-
Ubuntu下Java環境的搭建
配置命令:$sdoapt-getinstallubuntu-restricted-extras再運行如下命令:$sudoapt-getinstallsun-java6-jdk待安裝完畢後選擇默認Java.$sudoupdate-alternatives——configjava安裝過程提示選擇,輸入2即可,然後按回車鍵確定。如果一切順利,便可開始配置環境...