MAC地址完美攻略

穩萊

MAC地址完美攻略

如果你是通過校園網或小區接入Internet,那麼一定聽說過MAC地址。什麼是MAC地址,MAC地址在這種局域網環境中究竟起到什麼作用?下面就來介紹一下MAC地址的知識,MAC地址和IP地址的區別以及MAC地址在實際應用中所涉及到的安全問題。

  一、基礎知識

  如今的網絡是分層來實現的,就像是搭積木一樣,先設計某個特定功能的
模塊,然後把模塊拼起來組成整個網絡。局域網也不例外,一般來說,在組網上我們使用的是IEEE802參考模型,從下至上分為:物理層、媒體接入控制層(MAC),邏輯鏈路控制層(LLC)。

  標識網絡中的一台計算機,一般至少有三種方法,最常用的是域名地址、IP地址和MAC地址,分別對應應用層、網絡層、物理層。網絡管理一般就是在網絡層針對IP地址進行管理,但由於一台計算機的IP地址可以由用戶自行設定,管理起來相對困難,MAC地址一般不可更改,所以把IP地址同MAC地址組合到一起管理就成為常見的管理方式。

  二、什麼是MAC地址

  MAC地址就是在媒體接入層上使用的地址,也叫物理地址、硬件地址或鏈路地址,由網絡設備製造商生產時寫在硬件內部。MAC地址與網絡無關,也即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,都有相同的MAC地址,它由廠商寫在網卡的BIOS裡。MAC地址可採用6字節(48比特)或2字節(16比特)這兩種中的任意一種。但隨著局域網規模越來越大,一般都採用6字節的MAC地址。這個48比特都有其規定的意義,前24位是由生產網卡的廠商向IEEE申請的廠商地址,目前的價格是1000美元買一個地址塊,後24位由廠商自行分配,這樣的分配使得世界上任意一個擁有48位MAC地址的網卡都有唯一的標識。另外,2字節的MAC地址不用網卡廠商申請。

  MAC地址通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網絡硬件製造商的編號,它由IEEE分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網絡產品(如網卡)的系列號。每個網絡製造商必須確保它所製造的每個以太網設備都具有相同的前三字節以及不同的後三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。

  三、IP地址與MAC地址的區別

  IP地址基於邏輯,比較靈活,不受硬件限制,也容易記憶。MAC地址在一定程度上與硬件一致,基於物理,能夠標識具體。這兩種地址各有好處,使用時也因條件而採取不同的地址。

  四、為什麼要用到MAC地址

  這是由組網方式決定的,如今比較流行的接入Internet的方式(也是未來發展的方向)是把主機通過局域網組織在一起,然後再通過交換機和Internet相連接。這樣一來就出現了如何區分具體用戶,防止盜用的問題。由於IP只是邏輯上標識,任何人都隨意修改,因此不能用來標識用戶;而MAC地址則不然,它是固化在網卡裡面的。從理論上講,除非盜來硬件(網卡),否則是沒有辦法冒名頂替的(注意:其實也可以盜用,後面將介紹)。

  基於MAC地址的這種特點,局域網採用了用MAC地址來標識具體用戶的方法。注意:具體實現:在交換機內部通過「表」的方式把MAC地址和IP地址一一對應,也就是所說的IP、MAC綁定。

  具體的通信方式:接收過程,當有發給本地局域網內一台主機的資料包時,交換機接收下來,然後把資料包中的IP地址按照「表」中的對應關係映射成MAC地址,轉發到對應的MAC地址的主機上,這樣一來,即使某台主機盜用了這個IP地址,但由於他沒有這個MAC地址,因此也不會收到資料包。發送過程和接收過程類似,限於篇幅不敘述。

  綜上可知,只有IP而沒有對應的MAC地址在這種局域網內是不能上網的,於是解決了IP盜用問題。

  五、怎樣獲得自己的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地址並可以保存到文件。

  小知識:ARP(Address Resolution Protocol)是地址解析協議,ARP是一種將
IP地址轉化成物理地址的協議。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網絡層(IP層,也就是相當於OSI的第三層)地址解析為資料連接層(MAC層,也就是相當於OSI的第二層)的MAC地址。ARP協議是通過IP地址來獲得MAC地址的。

  ARP原理:某機器A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後就會進行資料傳輸。如果未找到,則廣播A一個ARP請求報文(攜帶主機A的IP地址Ia——物理地址Pa),請求IP地址為Ib的主機B回答物理地址Pb。網上所有主機包括B都收到ARP請求,但只有主機B識別自己的IP地址,於是向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。接著使用這個MAC地址發送資料(由網卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網絡流通的基礎,而且這個緩存是動態的。ARP表:為了回憶通信的速度,最近常用的MAC地址與IP的轉換不用依靠交換機來進行,而是在本機上建立一個用來記錄常用主機IP-MAC映射表,即ARP表。
   
  七、如何修改自己的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這款軟件就可以達到我們的目的。

  八、如何解決MAC地址帶來的安全問題

  我們可以將IP地址和MAC地址捆綁起來來解決這個問題。進入「MS-DOS方式」或「命令提示符」,在命令提示符下輸入命令:ARP -s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC地址和IP地址捆綁在一起。這樣,就不會出現IP地址被盜用而不能正常使用網絡的情況,可以有效保證小區網絡的安全和用戶的應用。

  注意:ARP命令僅對局域網的上網代理伺服器有用,而且是針對靜態IP地址,如果採用Modem撥號上網或是動態IP地址就不起作用。

  不過,只是簡單地綁定IP和MAC地址是不能完全的解決IP盜用問題的。作為一個網絡供應商,他們有責任為用戶解決好這些問題之的後,才交給用戶使用,而不是把安全問題交給用戶來解決。不應該讓用戶來承擔一些不必要盜用的損失。

  作為網絡供應商,最常用也是最有效的解決方法就是在IP、MAC綁定的基礎上,再把端口綁定進去,即IP-MAC-PORT三者綁定在一起,端口(PORT)指的是交換機的端口。這就需要在布線時候做好端口定時管理工作。在布線時應該把用戶牆上的接線盒和交換機的端口一一對應,並做好登記工作,然後把用戶交上來的MAC地址填入對應的交換機端口,進而再和IP一起綁定,達到IP-MAC-PORT的三者綁定。這樣一來,即使盜用者擁有這個IP對應的MAC地址,但是它不可能同樣擁有牆上的端口,因此,從物理通道上隔離了盜用者。

  我想通過上面的介紹大家對MAC地址也有些瞭解吧!提醒大家 應該學以致用,千萬不要用來整別人啊! 

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: MAC
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.