MAC地址之完美攻略
如果你是通過校園網(wǎng)或小區(qū)接入Internet,那么一定聽說過MAC地址。什么是MAC地址,MAC地址在這種局域網(wǎng)環(huán)境中究竟起到什么作用?下面 就來介紹一下MAC地址的知識,MAC地址和IP地址的區(qū)別以及MAC地址在實(shí)際應(yīng)用中所涉及到的安全問題。 一、基礎(chǔ)知識 如今的網(wǎng)絡(luò)是分層來實(shí)現(xiàn)的,就像是搭積木一樣,先設(shè)計(jì)某個特定功能的 模塊,然后把模塊拼起來組成整個網(wǎng)絡(luò)。局域網(wǎng)也不例外,一般來說,在組網(wǎng)上我們使用的是IEEE802參考模型,從下至上分為:物理層、媒體接入控制層(MAC),邏輯鏈路控制層(LLC)。 標(biāo)識網(wǎng)絡(luò)中的一臺計(jì)算機(jī),一般至少有三種方法,最常用的是域名地址、IP地址和MAC地址,分別對應(yīng)應(yīng)用層、網(wǎng)絡(luò)層、物理層。網(wǎng)絡(luò)管理一般就是在網(wǎng)絡(luò) 層針對IP地址進(jìn)行管理,但由于一臺計(jì)算機(jī)的IP地址可以由用戶自行設(shè)定,管理起來相對困難,MAC地址一般不可更改,所以把IP地址同MAC地址組合到 一起管理就成為常見的管理方式。 二、什么是MAC地址 MAC地址就是在媒體接入層上使用的地址,也叫物理地址、硬件地址或鏈路地址,由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時寫在硬件內(nèi)部。MAC地址與網(wǎng)絡(luò)無關(guān),也即無論 將帶有這個地址的硬件(如網(wǎng)卡、集線器、路由器等)接入到網(wǎng)絡(luò)的何處,都有相同的MAC地址,它由廠商寫在網(wǎng)卡的BIOS里。MAC地址可采用6字節(jié) (48比特)或2字節(jié)(16比特)這兩種中的任意一種。但隨著局域網(wǎng)規(guī)模越來越大,一般都采用6字節(jié)的MAC地址。這個48比特都有其規(guī)定的意義,前24 位是由生產(chǎn)網(wǎng)卡的廠商向IEEE申請的廠商地址,目前的價格是1000美元買一個地址塊,后24位由廠商自行分配,這樣的分配使得世界上任意一個擁有48 位MAC地址的網(wǎng)卡都有唯一的標(biāo)識。另外,2字節(jié)的MAC地址不用網(wǎng)卡廠商申請。 MAC地址通常表示為12個16進(jìn)制數(shù),每2個16進(jìn)制數(shù)之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位 16進(jìn)制數(shù)08:00:20代表網(wǎng)絡(luò)硬件制造商的編號,它由IEEE分配,而后3位16進(jìn)制數(shù)0A:8C:6D代表該制造商所制造的某個網(wǎng)絡(luò)產(chǎn)品(如網(wǎng) 卡)的系列號。每個網(wǎng)絡(luò)制造商必須確保它所制造的每個以太網(wǎng)設(shè)備都具有相同的前三字節(jié)以及不同的后三個字節(jié)。這樣就可保證世界上每個以太網(wǎng)設(shè)備都具有唯一 的MAC地址。 三、IP地址與MAC地址的區(qū)別 IP地址基于邏輯,比較靈活,不受硬件限制,也容易記憶。MAC地址在一定程度上與硬件一致,基于物理,能夠標(biāo)識具體。這兩種地址各有好處,使用時也因條件而采取不同的地址。 四、為什么要用到MAC地址 這是由組網(wǎng)方式?jīng)Q定的,如今比較流行的接入Internet的方式(也是未來發(fā)展的方向)是把主機(jī)通過局域網(wǎng)組織在一起,然后再通過交換機(jī)和 Internet相連接。這樣一來就出現(xiàn)了如何區(qū)分具體用戶,防止盜用的問題。由于IP只是邏輯上標(biāo)識,任何人都隨意修改,因此不能用來標(biāo)識用戶;而 MAC地址則不然,它是固化在網(wǎng)卡里面的。從理論上講,除非盜來硬件(網(wǎng)卡),否則是沒有辦法冒名頂替的(注意:其實(shí)也可以盜用,后面將介紹)。 基于MAC地址的這種特點(diǎn),局域網(wǎng)采用了用MAC地址來標(biāo)識具體用戶的方法。注意:具體實(shí)現(xiàn):在交換機(jī)內(nèi)部通過“表”的方式把MAC地址和IP地址一一對應(yīng),也就是所說的IP、MAC綁定。 具體的通信方式:接收過程,當(dāng)有發(fā)給本地局域網(wǎng)內(nèi)一臺主機(jī)的數(shù)據(jù)包時,交換機(jī)接收下來,然后把數(shù)據(jù)包中的IP地址按照“表”中的對應(yīng)關(guān)系映射成MAC 地址,轉(zhuǎn)發(fā)到對應(yīng)的MAC地址的主機(jī)上,這樣一來,即使某臺主機(jī)盜用了這個IP地址,但由于他沒有這個MAC地址,因此也不會收到數(shù)據(jù)包。發(fā)送過程和接收 過程類似,限于篇幅不敘述。 綜上可知,只有IP而沒有對應(yīng)的MAC地址在這種局域網(wǎng)內(nèi)是不能上網(wǎng)的,于是解決了IP盜用問題。 五、怎樣獲得自己的MAC地址 MAC地址固化在網(wǎng)卡中的BIOS中,可以通過DOS命令取得。Win9x用戶可以使用winipcfg命令,Win2k/XP用戶可以使用ipconfig/all命令,其中用16進(jìn)制表示的12位數(shù)就是MAC地址。 六、MAC地址涉及到的安全問題 從上面的介紹可以知道,這種標(biāo)識方式只是MAC地址基于的,如果有人能夠更改MAC地址,就可以盜用IP免費(fèi)上網(wǎng)了,目前網(wǎng)上針對小區(qū)寬帶的盜用 MAC地址免費(fèi)上網(wǎng)方式就是基于此這種思路。如果想盜用別人的IP地址,除了IP地址還要知道對應(yīng)的MAC地址。舉個例子,獲得局域網(wǎng)內(nèi)某臺主機(jī)的MAC 地址,比如想得到局域網(wǎng)內(nèi)名為TARGET主機(jī)的MAC地址,先用PING命令:PING TARGET,這樣在我們主機(jī)上面的ARP表的緩存中就會留下目標(biāo)地址和MAC映射的記錄,然后通過ARP A命令來查詢ARP表,這樣就得到了指定主機(jī)的MAC地址。最后用ARP -s IP 網(wǎng)卡MAC地址,命令把網(wǎng)關(guān)的IP地址和它的MAC地址映射起來就可以了。 如果要得到其它網(wǎng)段內(nèi)的MAC地址,那么可以用工具軟件來實(shí)現(xiàn),我覺得Windows優(yōu)化大師中自帶的工具不錯,點(diǎn)擊“系統(tǒng)性能優(yōu)化”→“系統(tǒng)安全優(yōu) 化”→“附加工具”→“集群Ping”,可以成批的掃出MAC地址并可以保存到文件。 小知識:ARP(Address Resolution Protocol)是地址解析協(xié)議,ARP是一種將 IP地址轉(zhuǎn)化成物理地址的協(xié)議。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網(wǎng)絡(luò)層(IP層,也就是相當(dāng)于OSI 的第三層)地址解析為數(shù)據(jù)連接層(MAC層,也就是相當(dāng)于OSI的第二層)的MAC地址。ARP協(xié)議是通過IP地址來獲得MAC地址的。 ARP原理:某機(jī)器A要向主機(jī)B發(fā)送報(bào)文,會查詢本地的ARP緩存表,找到B的IP地址對應(yīng)的MAC地址后就會進(jìn)行數(shù)據(jù)傳輸。如果未找到,則廣播A一 個ARP請求報(bào)文(攜帶主機(jī)A的IP地址Ia——物理地址Pa),請求IP地址為Ib的主機(jī)B回答物理地址Pb。網(wǎng)上所有主機(jī)包括B都收到ARP請求,但 只有主機(jī)B識別自己的IP地址,于是向A主機(jī)發(fā)回一個ARP響應(yīng)報(bào)文。其中就包含有B的MAC地址,A接收到B的應(yīng)答后,就會更新本地的ARP緩存。接著 使用這個MAC地址發(fā)送數(shù)據(jù)(由網(wǎng)卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網(wǎng)絡(luò)流通的基礎(chǔ),而且這個緩存是動態(tài)的。ARP表:為了回 憶通信的速度,最近常用的MAC地址與IP的轉(zhuǎn)換不用依靠交換機(jī)來進(jìn)行,而是在本機(jī)上建立一個用來記錄常用主機(jī)IP-MAC映射表,即ARP表。 七、如何修改自己的MAC地址 MAC地址是固化在網(wǎng)卡中的,MAC地址具有唯一性,難道沒有辦法更改了么?不是的,我們完全不用修改EPROM的內(nèi)容,而只通過修改存儲單元的內(nèi)容 就能達(dá)到修改MAC地址的目的。例如在Windows中可以通過注冊表來修改。 在“開始”菜單的“運(yùn)行”中輸入regedit.exe,打開注冊表編輯器,展開注冊表到:HKEY_LOCAL_MACHINE\System \CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子 鍵,在子鍵下的0000,0001,0002等分支中查找DriverDesc(如果你有一塊以上的網(wǎng)卡,就有0001,0002……在這里保存了有關(guān)你 的網(wǎng)卡的信息,其中的DriverDesc的內(nèi)容就是你的網(wǎng)卡的信息描述,比如我的網(wǎng)卡就是Intel 21041 based Ethernet Controller),在這里假設(shè)你的網(wǎng)卡在0000子鍵。 在0000子鍵下添加一個字符串,命名為“NetworkAddress”,鍵值為修改后的MAC地址,要求為連續(xù)的12個16進(jìn)制數(shù)。然后在 “0000”子鍵下的NDI\params中新建一項(xiàng)名為NetworkAddress的子鍵,在該子鍵下添加名為“default”的字符串,鍵值為修 改后的MAC地址。 在NetworkAddress的子鍵下繼續(xù)建立名為“ParamDesc”的字符串,其作用為指定NetworkAddress的描述,其值可為 “MAC Address”。這樣以后打開網(wǎng)絡(luò)鄰居的“屬性”,雙擊相應(yīng)的網(wǎng)卡就會發(fā)現(xiàn)有一個“高級”設(shè)置,其下存在MAC Address的選項(xiàng),它就是你在注冊表中加入的新項(xiàng)NetworkAddress,以后只要在此修改MAC地址就可以了。 關(guān)閉注冊表,重新啟動,你的網(wǎng)卡地址已改。打開網(wǎng)絡(luò)鄰居的屬性,雙擊相應(yīng)網(wǎng)卡項(xiàng)會發(fā)現(xiàn)有一個MAC Address的高級設(shè)置項(xiàng),用于直接修改MAC地址。 當(dāng)然,你還可以用工具軟件來修改網(wǎng)卡的MAC地址,如MAC2001這款軟件就可以達(dá)到我們的目的。 八、如何解決MAC地址帶來的安全問題 我們可以將IP地址和MAC地址捆綁起來來解決這個問題。進(jìn)入“MS-DOS方式”或“命令提示符”,在命令提示符下輸入命令:ARP -s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC地址和IP地址捆綁在一起。這樣,就不會出現(xiàn)IP地址被盜用而不能正常使用網(wǎng)絡(luò)的情況,可以有效保證小區(qū)網(wǎng)絡(luò)的安全和用戶的應(yīng)用。 注意:ARP命令僅對局域網(wǎng)的上網(wǎng)代理服務(wù)器有用,而且是針對靜態(tài)IP地址,如果采用Modem撥號上網(wǎng)或是動態(tài)IP地址就不起作用。 不過,只是簡單地綁定IP和MAC地址是不能完全的解決IP盜用問題的。作為一個網(wǎng)絡(luò)供應(yīng)商,他們有責(zé)任為用戶解決好這些問題之的后,才交給用戶使 用,而不是把安全問題交給用戶來解決。不應(yīng)該讓用戶來承擔(dān)一些不必要盜用的損失。 作為網(wǎng)絡(luò)供應(yīng)商,最常用也是最有效的解決方法就是在IP、MAC綁定的基礎(chǔ)上,再把端口綁定進(jìn)去,即IP-MAC-PORT三者綁定在一起,端口 (PORT)指的是交換機(jī)的端口。這就需要在布線時候做好端口定時管理工作。在布線時應(yīng)該把用戶墻上的接線盒和交換機(jī)的端口一一對應(yīng),并做好登記工作,然 后把用戶交上來的MAC地址填入對應(yīng)的交換機(jī)端口,進(jìn)而再和IP一起綁定,達(dá)到IP-MAC-PORT的三者綁定。這樣一來,即使盜用者擁有這個IP對應(yīng) 的MAC地址,但是它不可能同樣擁有墻上的端口,因此,從物理通道上隔離了盜用者。 我想通過上面的介紹大家對MAC地址也有些了解吧!提醒大家 應(yīng)該學(xué)以致用,千萬不要用來整別人??! |
|