MAC(Media Access Control, 介質訪問控制)MAC地址是燒錄在Network Interface Card(網卡,NIC)裡的.MAC地址,也叫硬體地址,是由48比特長(6位元組),16進位的數字組成.0-23位是由廠家自己分配.24-47位,叫做組織唯一標誌符(organizationally unique ,是識別LAN(區域網)節點的標識。其中第40位是組播地址標誌位。網卡的物理地址通常是由網卡生產廠家燒入網卡的EPROM(一種快閃記憶體晶片,通常可以通過程序擦寫),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。
也就是說,在網絡底層的物理傳輸過程中,是通過物理地址來識別主機的,它一般也是全球唯一的。比如,著名的乙太網卡,其物理地址是48bit(比特位)的整數,如:44-45-53-54-00-00,以機器可讀的方式存入主機接口中。乙太網地址管理機構(除了管這個外還管別的)(IEEE)(IEEEE:電氣和電子工程師協會)將乙太網地址,也就是48比特的不同組合,分為若干獨立的連續地址組,生產乙太網網卡的廠家就購買其中一組,具體生產時,逐個將唯一地址賦予乙太網卡。
形象的說,MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性。
為什麼要用到MAC地址
這是由組網方式決定的,如今比較流行的接入Internet的方式(也是未來發展的方向)是把主機通過區域網組織在一起,然後再通過交換機和Internet相連接。這樣一來就出現了如何區分具體用戶,防止盜用的問題。由於IP只是邏輯上標識,任何人都隨意修改,因此不能用來標識用戶;而MAC地址則不然,它是固化在網卡裡面的。從理論上講,除非盜來硬體(網卡),否則是沒有辦法冒名頂替的(注意:其實也可以盜用,後面將介紹)。
基於MAC地址的這種特點,區域網採用了用MAC地址來標識具體用戶的方法。注意:具體實現:在交換機內部通過「表」的方式把MAC地址和IP位址一一對應,也就是所說的IP、MAC綁定。
具體的通信方式:接收過程,當有發給本地區域網內一臺主機的數據包時,交換機接收下來,然後把數據包中的IP位址按照「表」中的對應關係映射成MAC地址,轉發到對應的MAC地址的主機上,這樣一來,即使某臺主機盜用了這個IP位址,但由於他沒有這個MAC地址,因此也不會收到數據包。發送過程和接收過程類似,限於篇幅不敘述。
綜上可知,只有IP而沒有對應的MAC地址在這種區域網內是不能上網的,於是解決了IP盜用問題。
mac地址有什麼用IP位址就如同一個職位,而MAC地址則好像是去應聘這個職位的人才,職位可以既可以讓甲坐,也可以讓乙坐,同樣的道理一個節點的IP位址對於網卡是不做要求,基本上什麼樣的廠家都可以用,也就是說IP位址與MAC地址並不存在著綁定關係。本身有的計算機流動性就比較強,正如同人才可以給不同的單位幹活的道理一樣的,人才的流動性是比較強的。職位和人才的對應關係就有點像是IP位址與MAC地址的對應關係。比如,如果一個網卡壞了,可以被更換,而無須取得一個新的IP位址。如果一個IP主機從一個網絡移到另一個網絡,可以給它一個新的IP位址,而無須換一個新的網卡。當然MAC地址除了僅僅只有這個功能還是不夠的,就拿人類社會與網絡進行類比,通過類比,我們就可以發現其中的類似之處,更好地理解MAC地址的作用。
無論是區域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(Address Resolution Protocol:地址解析協議)負責將IP位址映射到MAC地址上來完成的。其實人類社會和網絡也是類似的,試想在人際關係網絡中,甲要捎個口信給丁,就會通過乙和丙中轉一下,最後由丙 轉告給丁。在網絡中,這個口信就好比是一個網絡中的一個數據包。數據包在傳送過程中會不斷詢問相鄰節點的MAC地址,這個過程就好比是人類社會的口信傳送過程。相信通過這兩個例子,我們就可以進一步理解MAC地址的作用。
怎樣獲得自己的MAC地址
MAC地址固化在網卡中的BIOS中,可以通過DOS命令取得。Win9x用戶可以使用winipcfg命令,Win2k/XP用戶可以使用ipconfig/all命令,其中用16進位表示的12位數就是MAC地址。
MAC地址涉及到的安全問題從上面的介紹可以知道,這種標識方式只是MAC地址基於的,如果有人能夠更改MAC地址,就可以盜用IP免費上網了,目前網上針對小區寬帶的盜用MAC地址免費上網方式就是基於此這種思路。如果想盜用別人的IP位址,除了IP位址還要知道對應的MAC地址。舉個例子,獲得區域網內某臺主機的MAC地址,比如想得到區域網內名為TARGET主機的MAC地址,先用PING命令:PING TARGET,這樣在我們主機上面的ARP表的緩存中就會留下目標地址和MAC映射的記錄,然後通過ARP A命令來查詢ARP表,這樣就得到了指定主機的MAC地址。最後用ARP -s IP 網卡MAC地址,命令把網關的IP位址和它的MAC地址映射起來就可以了。
如果要得到其它網段內的MAC地址,那麼可以用工具軟體來實現,我覺得Windows優化大
師中自帶的工具不錯,點擊「系統性能優化」→「系統安全優化」→「附加工具」→「集群Ping」,可以成批的掃出MAC地址並可以保存到文件。
如何修改自己的MAC地址
MAC地址是固化在網卡中的,MAC地址具有唯一性,難道沒有辦法更改了麼?不是的,我們完全不用修改EPROM的內容,而只通過修改存儲單元的內容就能達到修改MAC地址的目的。例如在Windows中可以通過註冊表來修改。
在「開始」菜單的「運行」中輸入regedit.exe,打開註冊表編輯器,展開註冊表到:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子鍵,在子鍵下的0000,0001,0002等分支中查找DriverDesc(如果你有一塊以上的網卡,就有0001,0002……在這裡保存了有關你的網卡的信息,其中的DriverDesc的內容就是你的網卡的信息描述,比如我的網卡就是Intel 21041 based Ethernet Controller),在這裡假設你的網卡在0000子鍵。
在0000子鍵下添加一個字符串,命名為「NetworkAddress」,鍵值為修改後的MAC地址,要求為連續的12個16進位數。然後在「0000」子鍵下的NDI\params中新建一項名為NetworkAddress的子鍵,在該子鍵下添加名為「default」的字符串,鍵值為修改後的MAC地址。
在NetworkAddress的子鍵下繼續建立名為「ParamDesc」的字符串,其作用為指定NetworkAddress的描述,其值可為「MAC Address」。這樣以後打開網絡鄰居的「屬性」,雙擊相應的網卡就會發現有一個「高級」設置,其下存在MAC Address的選項,它就是你在註冊表中加入的新項NetworkAddress,以後只要在此修改MAC地址就可以了。
關閉註冊表,重新啟動,你的網卡地址已改。打開網絡鄰居的屬性,雙擊相應網卡項會發現有一個MAC Address的高級設置項,用於直接修改MAC地址。
當然,你還可以用工具軟體來修改網卡的MAC地址,如MAC2001這款軟體就可以達到我們的目的。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴