macosxeth0
① Mac是什麼
Mac地址就是在媒體接入層上使用的地址,通俗點說就是網卡的物理地址,現在的Mac地址一般都採用6位元組48bit(在早期還有2位元組16bit的Mac地址)。
對於MAC地址,由於我們不直接和它接觸,所以大家不一定很熟悉。在OSI(Open System Interconnection,開放系統互連)7層網路協議(物理層,數據鏈路層,網路層,傳輸層,會話層,表示層,應用層)參考模型中,第二層為數據鏈路層(Data Link)。它包含兩個子層,上一層是邏輯鏈路控制(LLC:Logical Link Control),下一層即是我們前面所提到的MAC(Media Access Control)層,即介質訪問控制層。所謂介質(Media),是指傳輸信號所通過的多種物理環境。常用網路介質包括電纜(如:雙絞線,同軸電纜,光纖),還有微波、激光、紅外線等,有時也稱介質為物理介質。MAC地址也叫物理地址、硬體地址或鏈路地址,由網路設備製造商生產時寫在硬體內部。這個地址與網路無關,也即無論將帶有這個地址的硬體(如網卡、集線器、路由器等)接入到網路的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。
MAC地址前24位是由生產廠家向IEEE申請的廠商地址。後24位就由生產廠家自行定擬了。(早期的2位元組的卻不用申請)
一:IP地址和Mac地址有什麼聯系和區別
對於IP地址,相信大家都很熟悉,即指使用TCP/IP協議指定給主機的32位地址。IP地址由用點分隔開的4個8八位組構成,如192.168.0.1就是一個IP地址,這種寫法叫點分十進制格式。IP地址由網路地址和主機地址兩部分組成,分配給這兩部分的位數隨地址類(A類、B類、C類等)的不同而不同。網路地址用於路由選擇,而主機地址用於在網路或子網內部尋找一個單獨的主機。一個IP地址使得將來自源地址的數據通過路由而傳送到目的地址變為可能。
現在有很多計算機都是通過先組建區域網,然後通過交換機和Internet連接的。然後給每個用戶分配固定的IP地址,由管理中心統一管理,這樣為了管理方便就需要使用Mac地址來標志用戶,防止發生混亂,明確責任(比如網路犯罪)。另外IP地址和Mac地址是有區別的,雖然他們在區域網中是一一對應的關系。IP地址是跟據現在的IPv4標准指定的,不受硬體限制比較容易記憶的地址,而Mac地址卻是用網卡的物理地址,多少與硬體有關系,比較難於記憶。
MAC地址的長度為48位(6個位元組),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網路硬體製造商的編號,它由IEEE(Istitute of Electrical and Electronics Engineers,電氣與電子工程師協會)分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網路產品(如網卡)的系列號。每個網路製造商必須確保它所製造的每個乙太網設備都具有相同的前三個位元組以及不同的後三個位元組。這樣就可保證世界上每個乙太網設備都具有唯一的MAC地址。
既然每個乙太網設備在出廠時都有一個唯一的MAC地址了,那為什麼還需要為每台主機再分配一個IP地址呢?或者說為什麼每台主機都分配唯一的IP地址了,為什麼還要在網路設備(如網卡,集線器,路由器等)生產時內嵌一個唯一的MAC地址呢?主要原因有以下幾點:(1)IP地址的分配是根據網路的拓樸結構,而不是根據誰製造了網路設置。若將高效的路由選擇方案建立在設備製造商的基礎上而不是網路所處的拓樸位置基礎上,這種方案是不可行的。(2)當存在一個附加層的地址定址時,設備更易於移動和維修。例如,如果一個乙太網卡壞了,可以被更換,而無須取得一個新的IP地址。如果一個IP主機從一個網路移到另一個網路,可以給它一個新的IP地址,而無須換一個新的網卡。(3)無論是區域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到MAC地址上來完成的。下面我們來通過一個例子看看IP地址和MAC地址是怎樣結合來傳送數據包的。
假設網路上要將一個數據包(名為PAC)由臨沭的一台主機(名稱為A,IP地址為IP_A,MAC地址為MAC_A)發送到北京的一台主機(名稱為B,IP地址為IP_B,MAC地址為MAC_B)。這兩台主機之間不可能是直接連接起來的,因而數據包在傳遞時必然要經過許多中間節點(如路由器,伺服器等等),我們假定在傳輸過程中要經過C1、C2、C3(其MAC地址分別為M1,M2,M3)三個節點。A在將PAC發出之前,先發送一個ARP請求,找到其要到達IP_B所必須經歷的第一個中間節點C1的MAC地址M1,然後在其數據包中封裝(Encapsulation)這些地址:IP_A、IP_B,MAC_A和M1。當PAC傳到C1後,再由ARP根據其目的IP地址IP_B,找到其要經歷的第二個中間節點C2的MAC地址M2,然後再將帶有M2的數據包傳送到C2。如此類推,直到最後找到帶有IP地址為IP_B的B主機的地址MAC_B,最終傳送給主機B。在傳輸過程中,IP_A、IP_B和MAC_A不變,而中間節點的MAC地址通過ARP在不斷改變(M1,M2,M3),直至目的地址MAC_B。
二:如何知道自己的Mac地址
方法比較多,也比較簡單,在這里介紹兩種常用的方法,在Win9x 可用:WinIPcfg獲得,在2000、XP可用IPconfig -all獲得。如果你已經給自己的網卡分配了IP,還可以用 nbtstat -A 自己的IP,後者只能在2000/XP下使用。
在Windows 98/Me中,依次單擊「開始」→「運行」 →輸入「winipcfg」→回車。
在Windows 2000/XP中,依次單擊「開始」→「運行」→輸入「CMD」→回車→輸入「ipconfig /all」→回車。
也可以用 nbtstat -A IP地址(還可以獲得別的東東,可別學壞啊)。另外同一區域網內的,你可以用ping IP 或者ping 主機名,然後用arp -a 來獲得。
三:為什麼要修改MAC地址
為什麼要修改MAC地址,到底有什麼實際意義呢?簡單的說,MAC地址相當於你的網路標識,在區域網里,管理人員常常將網路埠與客戶機的MAC地址綁定,方便管理,萬一你的網卡壞掉了,換一張網卡必須向管理人員申請更改綁定的MAC地址,比較麻煩。如果這時我們又急於使用MAC以便上網。這時候,我們直接在操作系統里更改一下MAC,就可以跳過重新申請這一步,減少了很多麻煩。
另外,當你使用黑客軟體對別人的機器進行攻擊時,別人的防火牆獲取到你的IP地址,就可以通過「Nbtstat -A ip地址」命令獲取你的MAC,如果你改一下,呵呵,查到的MAC就不是你的了。(可別說我教你學壞啊!)
四:如何修改自己的Mac地址
Mac地址是保存在網卡的EPROM裡面,通過網卡生產廠家提供的修改程序可以更改存儲器里的地址,即使網卡沒有這樣的設置我們也可以通過間接的方法修改,一般網卡發出的包的源Mac地址並不是網卡本身寫上去的,而是應用程序提供的,只是在通常的實現中,應用程序先從網卡上得到Mac地址,每次發送的時候都用這個Mac做為源Mac而已,Windows中,網卡的Mac保存在注冊表中,實際使用也是從注冊表中提取的,所以只要修改注冊表就可以簡單的改變Mac
Win9x中修改:
打開注冊表編輯器,在HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Service\Class\Net\下的0000,0001,0002
Win2000/XP中的修改:同樣打開注冊表編輯器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字元串變數,命名為NetworkAddress,值為要設置的Mac地址,例如:000102030405。完成上述操作後重啟就好了。
Linux下的修改:
必須關閉網卡設備,否則會報告系統忙,無法更改。
命令是:/sbin/ifconfig eth0 down;.修改Mac地址,這一步較Windows中的修改要簡單。命令是:/sbin/ifconfig eth0 hw ether 00 AA�BB CC DD EE;重新啟用網卡,/sbin/ifconfig eth0 up網卡的Mac地址更改就完成了。
如果你要經常改換地址的話在注冊表裡改來改去的方法就實在是太繁瑣了。不用擔心,用下面的方法可以使你的修改更方便,更簡單。
現以Windows 2000/XP為例來簡要說明一下:第一步,單擊「開始」→「運行」→輸入「Regedit」,打開注冊表編輯器,按Ctrl+F打開查找窗,輸入「DriverDesc」單擊確定。
雙擊找到的內容,即為你要修改的網卡的信息描述,左邊數形列表顯示當前主鍵(比如0000)。第二步,在相應的0000下新建一串值,命名為NetworkAddress,鍵值設為你要的MAC地址,注意要連續寫,如112233445566。第三步,重新啟動計算機,你就會發現網卡MAC地址已經改變為你所設置的地址。第四步,在相應的0000下的Ndi\Params中加一項,主鍵名為NetworkAddress,然後在該主鍵下添加名為default的串值,其值設為你要設的MAC地址,同樣也要連續地寫。第五步,在NetworkAddress主鍵下繼續添加名為ParamDesc的字元串,其值可設為「MAC Address」。
全部設置完成了,關閉注冊表,重新啟動計算機,打開「網路鄰居」的屬性,選擇相應的網卡,單擊「屬性」選擇「高級」選項卡,屬性中會多出MAC Address的選項,也就是在上面第二步在注冊表中添加的NetworkAddress項,以後只要在此處的設置值中修改MAC地址就可以了。
五:如何捆綁MAC地址和IP地址
進入「MS-DOS方式」或「命令提示符」,在命令提示符下輸入命令:ARP - s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC地址和IP地址捆綁在一起。
對於自行修改MAC地址入網,網管員還是有辦法偵測出來的。因此,換網卡後別忘記跟網管打個招呼,重新綁定啊。