必威电竞|足球世界杯竞猜平台

MAC地址
來源:互聯網

MAC地址(英文名:Media Access Control或Medium Access Control,直譯為媒體訪問控制地址),也稱為物理地址或硬件地址,位于OSI中的第二層數據鏈路層,用來定義網絡設備位置。

MAC地址是每一張網卡出廠自帶的身份標識符,具有全球唯一性,由6組十六進制位組成,每組十六進制位由2個十六進制數表示,中間使用符號“-”隔開,一共48位,占6字節。前3個字節由IEEE(電氣與電子工程師協會)分配,后3個字節由制造商自行分配。如AB-E6-74-33-45-08就是一個MAC地址,其中前6位16進制數AB-E6-74代表網絡硬件制造商的編號,后6位16進制數33-45-08代表該制造商所制造的網絡產品的系列號。

簡介

MAC地址也叫物理地址、硬件地址,由網絡設備制造商生產時燒錄在網卡(Network lnterface Card)的EPROM(一種閃存芯片,通常可以通過程序擦寫)。IP地址與MAC地址在計算機里都是以二進制表示的,IP地址是32位的,而MAC地址則是48位的。

MAC地址的長度為48位(6個字節),通常表示為12個16進制數,如:00-16-EA-AE-3C-40就是一個MAC地址,其中前3個字節,16進制數00-16-EA代表網絡硬件制造商的編號,它由IEEE(電氣與電子工程師協會)分配,而后3個字節,16進制數AE-3C-40代表該制造商所制造的某個網絡產品(如網卡)的系列號。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地說,MAC地址就如同身份證上的身份證號碼,具有唯一性。

結構

網絡中每臺設備都有一個唯一的網絡標識,這個地址叫MAC地址或網卡地址,由網絡設備制造商生產時寫在硬件內部。MAC地址則是48位的(6個字節),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如08:00:20:0A:8C:6D就是一個MAC地址。具體如下圖所示,其前3字節表示OUI(Organizationally Unique Identifier),是IEEE的注冊管理機構給不同廠家分配的代碼,區分不同的廠家。后3字節由廠家自行分配。

MAC地址最高字節(MSB)的低第二位(LSb)表示這個MAC地址是全局的還是本地的,即U/L(Universal/Local)位,如果為0,表示是全局地址。所有的OUI這一位都是0。

MAC地址最高字節(MSB)的低第一位(LSb),表示這個MAC地址是單播還是多播。0表示單播。?

工作過程

網絡上的數據包從初始點開始,經過一個個中間節點最終到達目標節點,數據包是如何從初始節點開始識別一個個中間節點最終找到目標節點的呢?實際上初始節點是根據目標節點的IP地址,將目標節點的IP地址映射到中間節點的MAC地址,找到第一個中間節點。從第一個中間節點出發,根據目標節點的IP地址映射到第二個中間節點的麥金塔地址,從而找到第二個中間節點……,以此類推,直到當找到最后一個中間節點后,從最后一個中間節點出發,根據目標節點的IP地址映射到目的節點的MAC地址,從而將數據包準確傳送到目標設備,而不是廣播到整個網絡。所以數據包的傳送過程就是:不斷地將目標節點的IP地址映射到一個個中間節點的MAC地址,再從一個個中間節點出發,直到找到最終的目標節點。

數據包傳送的關鍵是將目標節點的IP地址映射到中間節點的MAC地址。IP地址與MAC地址的映射要通過ARP地址解析協議來完成,它可將網絡中的IP地址映射到主機的MAC地址,如交換機可以根據網絡中的IP地址來找到本地主機的MAC地址。具體過程是:當交換機接收到來自網上一個數據包時,會根據該數據包的目標IP地址,查看交換機內部是否有跟該IP地址對應的MAC地址,如果有上次保留下來的對應的MAC地址,就會將該數據包 轉發到對應MAC地址的主機上去。如果在交換機內部沒有與目標地址對應的MAC地址,則交換機會根據ARP協議廣播請求獲取目標IP地址對應的MAC地址,收到響應后將MAC地址記錄到表中,數據包就被轉送到對應的MAC地址的主機上。

解釋

MAC(Media Access Control,介質訪問控制)地址,也叫硬件地址,長度是48比特(6字節),由16進制的數字組成,分為前24位和后24位:

MAC地址對應于OSI參考模型的第二層數據鏈路層,工作在數據鏈路層的交換機維護著計算機MAC地址和自身端口的數據庫,交換機根據收到的數據幀中的“目的MAC地址”字段來轉發數據幀。

組播MAC地址用于向局域網上的一組終端設備發送數據,其中第1字節的第8Bit(如圖中00-50-BA-...對應的00000000-01010000-10111010-...,加粗字體的Bit)標識這個地址是組播地址還是單播地址。這是由以太網的傳輸協議高字節先傳,但每一字節內低位先傳的特性所決定的,見IEEE 802.3 3.2.3 Address fields: “The first bit (LSB) shall be used in the Destination Address field as an address type designation bit to identify the Destination Address either as an individual or as a group address. If this bit is 0,it shall indicate that the address field contains an individual address. If this bit is 1,it shall indicate that the address field contains a group address that identifies none,one or more,or all of the stations connected to the LAN. In the Source Address field,the first bit is reserved and set to 0.”。事實上這傳輸的順序為000000000000101001011101...“The first bit (LSB)”即是前言的第8Bit。

網卡的物理地址通常是由網卡生產廠家插入網卡的EPROM(一種閃存芯片,通常可以通過程序擦寫),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。

也就是說,在網絡底層的物理傳輸過程中,是通過物理地址來識別主機的,它一定是全球唯一的。比如,著名的以太網卡,其物理地址是48bit(比特位)的整數,如:44-45-53-54-00-00,以機器可讀的方式存入主機接口中。以太網地址管理機構(除了管這個外還管別的)(IEEE)(IEEE:電氣和電子工程師協會)將以太網地址,也就是48比特的不同組合,分為若干獨立的連續地址組,生產以太網網卡的廠家就購買其中一組,具體生產時,逐個將唯一地址賦予以太網卡。

形象地說,MAC地址就如同身份證上的身份證號碼,具有全球唯一性。

作用

談起MAC地址,不得不說一下IP地址。IP地址工作在OSI參考模型的第三層網絡層。兩者之間分工明確,默契合作,完成通信過程。IP地址專注于網絡層,將數據包從一個網絡轉發到另外一個網絡;而MAC地址專注于數據鏈路層,將一個數據幀從一個節點傳送到相同鏈路的另一個節點。

在一個穩定的網絡中,IP地址和MAC地址是成對出現的。如果一臺計算機要和網絡中另一臺計算機通信,那么要配置這兩臺計算機的IP地址,MAC地址是網卡出廠時設定的,這樣配置的IP地址就和MAC地址形成了一種對應關系。在數據通信時,IP地址負責表示計算機的網絡層地址,網絡層設備(如路由器)根據IP地址來進行操作;MAC地址負責表示計算機的數據鏈路層地址,數據鏈路層設備(如交換機)根據MAC地址來進行操作。IP和MAC地址這種映射關系由ARP(Address Resolution Protocol,地址解析協議)協議完成。

IP地址是基于邏輯的,比較靈活,不受硬件的限制,也容易記憶,就如同一個職位,而MAC地址則好像是去應聘這個職位的人才,職位既可以讓甲坐,也可以讓乙坐,同樣的道理一個結點的IP地址對于網卡是不做要求,基本上什么樣的廠家都可以用,也就是說IP地址與MAC地址并不存在著綁定關系。本身有的計算機流動性就比較強,正如同人才可以給不同的單位干活的道理一樣的,人才的流動性是比較強的。職位和人才的對應關系就有點像是IP地址與MAC地址的對應關系。比如,如果一個網卡壞了,可以被更換,而無須取得一個新的IP地址。如果一個IP主機從一個網絡移到另一個網絡,可以給它一個新的IP地址,而無須換一個新的網卡。當然MAC地址除了僅僅只有這個功能還是不夠的,就拿人類社會與網絡進行類比,通過類比,我們就可以發現其中的類似之處,更好地理解MAC地址的作用。無論是局域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始結點出發,從一個結點傳遞到另一個結點,最終傳送到目的結點。數據包在這些節點之間的傳遞都是由 ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到 MAC地址上來完成的。ARP協議通過將目標IP地址映射到中間節點的MAC地址,確保數據包能夠正確傳遞到目標主機。其實人類社會和網絡也是類似的,試想在人際關系網絡中,甲要捎個口信給丁,就會通過乙和丙中轉一下,最后由丙 轉告給丁。在網絡中,這個口信就好比是一個網絡中的一個數據包。數據包在傳送過程中會不斷詢問相鄰節點的MAC地址,這個過程就好比是人類社會的口信傳送過程。相信通過這兩個例子,我們就可以進一步理解MAC地址的作用。

與IP地址區別

IP地址和MAC地址相同點是它們的唯一,不同的特點主要有:

獲取方法

在Windows 2000/XP/Windows Vista/7中

單擊開始,點擊運行,輸入cmd,進入后輸入ipconfig /all 即可。(或者輸入ipconfig -all)(如圖1所示)Physical Address. . . . . . . . . : 00-23-5A-15-99-42

單擊開始,點擊運行,輸入cmd,進入后輸入getmac即可。

另外,還可以通過查看本地連接獲取MAC地址:依次單擊“本地連接”→“狀態”——“常規”→“詳細信息”。即可看到MAC地址(實際地址),如圖2所示。

Linux/unix

在命令行輸入ifconfig即可看到MAC地址,如圖3所示:

修改方法

其實更改網卡MAC地址的功能不論98、Win7、2000還是XP,都已經提供了,只是平時大家都沒有注意到而已。下面我就說說怎么更改。

win8

1、右擊桌面右下角的網絡連接ICON,點擊“打開網絡和共享中心”。

2、點擊“更改適配器設置”,選擇本地連接或以太網,右擊,選擇屬性。

3、點擊“網絡”下的配置,配置里面的“高級”。

4、找到“網絡地址”,填寫mac地址(物理地址/物理ip)。

Win7

①點擊桌面右下角電源與音量之間的網絡連接按鈕,在彈出的對話框最下端有“打開網絡和共享中心”。

②點擊“更改適配器設置”選取要更改的網絡連接,點擊屬性。

③在執行②后會彈出連接屬性對話框,點擊“配置”。

④點擊“高級”,在屬性中選擇網絡地址(network address),點擊左面的“值”,輸入你所需的MAC地址后點擊確定即可。

注意:在修改無線網卡地址的時候,Windows 7對地址做出一個限制。MAC出廠地址12個數字可以是0-9,A-F任何一個數字,但是在Win7軟件修改地址的時候,MAC地址的第二位必須是2,6,A,或者E。

xy:xx:xx:xx:xx:xx

x=0-9,A-F

y=2,6,A或者E

Win2000

好了,先來看看WIN2000。在桌面上網上鄰居ICON上點右鍵,選"屬性",在出來的"網絡和撥號連接"窗口中一般有兩個圖標,一個是"新建連接"圖標,一個是"我的連接"圖標。如果你的機器上有兩個網卡的話,那就有三個圖標了。如果你只有一個網卡,那就在"我的連接"圖標上點右鍵,選"屬性",會出來一個"我的連接 屬性"的窗口。在圖口上部有一個"連接時使用:"的標識,下面就是你機器上的網卡型號了。在下面有一個"配置"按鈕,點擊該按鈕后就進入了網卡的屬性對話框了,這個對話框中有五個屬性頁,點擊第二項"高級"頁,在"屬性"標識下有兩項:一個是"Link Speed/Duplex Mode",這是設置網卡工作速率的,我們需要改的是下面一個"Network Address",點擊該項,在對話框右邊的"值"標識下有兩個單選項,默認的是"不存在" ,我們只要選中上面一個單選項,然后在右邊的框中輸入你想改的網卡MAC地址,點"確定",等待一會兒,網卡地址就改好了,甚至不用停用網卡!

另外,你也可以在"設置管理器"中,打開網卡的屬性頁來修改,效果一樣。Windows XP的修改方法跟Windows 2000一樣。

如果你想把網卡的MAC地址恢復原樣,只要再次把"Network Address"項右邊的單選項選擇為下面一個"沒有顯示"再重新啟動即可。在WIN2000、XP、Windows 7下面是選擇"不存在",當然也不用重新啟動了。

幾乎所有的網卡驅動程序都可以被NdisReadNetworkAddress參數調用,以便從注冊表中讀取一個用戶指定的MAC地址。當驅動程序確定這個MAC地址是有效的,就會將這個MAC地址編程入其硬件寄存器中,而忽略網卡固有的MAC地址。我們通過手工修改Windows的注冊表就可以達到目的。

在Winodws 98下運行Windows的注冊表編輯器,展開“HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net”,會看到類似“0000”、“0001”、“0002”的子鍵。從“0000”子鍵開始點擊,依次查找子鍵下的“DriverDesc”鍵的內容,直到找到與我們查找的目標完全相同的網卡注冊表信息為止。

當找到正確的網卡后,點擊下拉式菜單“編輯/新建/字符串”,串的名稱為“Networkaddress”,在新建的“Networkaddress”串名稱上雙擊鼠標就可以輸入數值了。輸入你想指定的新的MAC地址值。新的MAC地址應該是一個12位的十六進制數字或字母,其間沒有“-”,類似12個零的這樣的數值(注意,在Windows 98和Windows 2000/XP中具體鍵值的位置稍有不同,大家可通過查找功能來尋找)。

在“NetworkAddress”下繼續添加一個名為“ParamDesc”的字串值,它將作為“NetworkAddress”項的描述,數值可以取為“MAC Address”。再把它的內容修改為你想設定的內容。如圖所示。

這樣,我們就成功地修改了網卡的MAC地址,重新啟動計算機即可。

大部分的網卡都可以通過在控制面板中修改網卡屬性來更改其MAC地址,筆者的3COM 3C905B-TX和RTL8139芯片的網卡都可以這樣輕松修改。

在“設備管理器中”,右鍵點擊需要修改MAC地址的網卡圖標,并選擇“屬性/高級”選項卡。在“屬性”區,就可以看到一個稱作“Network Address”或其他相類似名字的的項目,點擊它,在右側“值”的下方,輸入要指定的MAC地址值。要連續輸入12個十六進制數字或字母,不要在其間輸入“-”。重新啟動系統后設置就會生效了。

如果是Windows 2000/XP的用戶,則可以使用免費MAC地址修改軟件SMAC。運行SMAC后,窗口中的列表框列出計算機上正處于工作狀態的網卡。選定要修改的網卡后,在列表框下方的六個輸入框中輸入新的MAC地址后,點擊右側的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。

應用

平日身份證的作用并不是很大,但是到了有的關鍵時刻,身份證就是用來證明你的身份的。比如你要去銀行提取現金,這時就要用到身份證。那么MAC地址與IP地址綁定就如同我們在日常生活中的本人攜帶自己的身份證去做重要事情一樣的道理。有的時候,我們為了防止IP地址被盜用,就通過簡單的交換機端口綁定(端口的MAC表使用靜態表項),可以在每個交換機端口只連接一臺主機的情況下防止修改MAC地址的盜用,如果是三層設備還可以提供:交換機端口/IP/MAC 三者的綁定,防止修改MAC的IP盜用。一般綁定MAC地址都是在交換機和路由器上配置的,是網管人員才能接觸到的,對于一般電腦用戶來說只要了解了綁定的作用就行了。比如你在校園網中把自己的筆記本電腦換到另外一個宿舍就無法上網了,這個就是因為MAC地址與IP地址(端口)綁定引起的。

攻擊方法

ARP欺騙技術已經很成熟了,這里也不再闡述。此次重點講解如何不用ARP欺騙進行嗅探以及會話劫持的技術原理,實際的攻擊方法是進行MAC欺騙的原理,亦即根據附近共享的資源和自帶的資源里帶有BK,然后取得一些客戶資料,算是商業間諜吧,只是這個更隱蔽具有很高的安全性。平常的ID和address都是可以不加密。

原理:在開始之前我們先簡單了解一下交換機轉發過程:交換機的一個端口收到一個數據幀時,首先檢查該數據幀的目的MAC地址在MAC地址表(CAM)對應的端口,如果目的端口與源端口不為同一個端口,則把幀從目的端口轉發出去,同時更新MAC地址表中源端口與源MAC的對應關系;如果目的端口與源端口相同,則丟棄該幀。

格式

MAC地址共48位(6個字節),以十六進制表示。前24位由IEEE決定如何分配,后24位由實際生產該網上設備的廠商自行指定。

廣播MAC地址用于向局域網上的所有終端設備發送數據,其所有位都設置為1(即ff:ff:ff:ff:ff:ff)。

01:xx:xx:xx:xx:xx是多播地址,01:00:5e:xx:xx:xx是IPv4多播地址。

參考資料 >

生活家百科家居網