MAC地址完美攻略

技術小牛人發表於2017-11-15

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

如果你是通過校園網或小區接入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_MACHINESystem CurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}子鍵,在子鍵下的0000,0001,0002等分支中查詢DriverDesc(如果你有一塊以上的網路卡,就有0001,0002……在這裡儲存了有關你的網路卡的資訊,其中的DriverDesc的內容就是你的網路卡的資訊描述,比如我的網路卡就是Intel 21041 based Ethernet Controller),在這裡假設你的網路卡在0000子鍵。


在0000子鍵下新增一個字串,命名為 “NetworkAddress”,鍵值為修改後的MAC地址,要求為連續的12個16進位制數。然後在“0000”子鍵下的NDIparams中新建一項名為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地址也有些瞭解吧!提醒大家 應該學以致用,千萬不要用來整別人啊!
本文轉自 netcorner 部落格園部落格,原文連結:

http://www.cnblogs.com/netcorner/archive/2006/11/09/2912523.html

  ,如需轉載請自行聯絡原作者


相關文章