Ethernet, Token Ring (Simgeli Halka Ağı), Wi-fi (Wireless Fidelity), Bluetooth, FDDI (Fiber Distributed Data Interface), SCSI (Small Computer System Interface) gibi protokollerde kullanılan ve açılımı Media Access Control, Türkçe anlamı ise Ortam Erişim Kontrolü olan MAC, hangi Network öğesinin hangi zaman aralığında Network ortamına veri aktarabileceğini belirleyen bir alt katmanı tanımlar ve 7 katmanlı OSI modelinin 2. katmanında yer almaktadır. MAC Adresi, NIC (Network Interface Card) için ayrı olan ve kartın içine üretilirken kodlanmış bir numaradır. Bu numara, NIC (Network Interface Card) üretim esnasında yazıldığı için BIA, Burned-in-Address (İzi Kalan Adres olarak) da isimlendirilir. MAC adresinin ilk 6 hanesi (70-66-55) yani ilk 24 Bit, üreticiyi temsil eder; son 6 hanesi (E2-89-D1) yani ikinci 24 Bit'lik kısım ise NIC (Network Interface Card için benzersiz ve değişmeyen bir tanıtıcı numaradır. MAC adresi olarak tanımlanan numaralar Network içerisinde bir Client'ı diğerinden ayırmak için kullanılırlar. Örneğin 00-0C-29-63-55-D3 gibi bir MAC adresindeki her karakter, 4 Bit'e karşılık gelir ve böylece 248=281,474,976,710,656 farklı MAC adresi yaratılmasına imkan tanınır. Binary (İkilik) sistemde sayıların okunması zor olduğundan, sayılar Hexadecimal (onaltılık) sistemde ifade edilmiştir.
IP & MAC Adresi İlişkisi
IP adresi, TCP/IP protokolü yardımıyla veriyi bir ağdan diğerine taşımakta kullanılır. MAC adresi ise veriyi ağdaki doğru cihaza taşımakta kullanılır. ARP (Address Resolution Protocol) Nedir? makalemde anlattığım gibi ARP, bir IP adresinin hangi MAC adresine ait olduğunu bulmaya yarar. Başka bir ifade ile bir Network’te bir cihaz; başka bir cihaz ile haberleşmek istediğinde, haberleşeceği cihazın MAC adresini bilmesi gerekir. Bu yüzden bir cihaz başka bir cihaz ile iletişime geçmeden önce ARP sürecini başlatarak, iletişime geçeceği cihazın MAC adresini öğrenir.
Daha başka bir ifadeyle bir cihaz, başka bir cihazla iletişime geçmeden önce, iletişime geçeceği cihazın MAC adresini öğrenmek için ARP sürecini başlatacağı için, ARP Request ile ortamda ör. "192.168.1.150 IP adresi hangi MAC adresine ait?" diye bir Broadcast (genel yayın) başlatır ve bu Broadcast'i Network ortamındaki tüm Network üyelerine iletir. Bu sayede öğrenmek istediği MAC adresi bilgisi ARP Reply ile kendisine iletilir. Ek olarak MAC adresi, bir cihazın hangi Network ortamına bağlı olduğuyla ilgili bir bilgi içermez. Cihazın hangi Network'e bağlı olduğuyla ilgili bilgi, IP adresine ait Subnet Mask bilgisindedir. IP adresleri değişkendir, ancak MAC adresleri NIC (Network Interface Card) üzerindeki Chip üzerine işlendiği için, bu bilgiyi değiştirmeniz mümkün değildir.
MAC Adresi mi? IP Adresi mi?
MAC adresleri ile modern Router ve Firewall biri Network cihazlarında belirli MAC adreslerini engelleyebilir, bu sayede de sadece belirli MAC adreslerinin Network otamına bağlanmasını sağlayabilir ya da DHCP Server üzerinde IP rezervasyonu yaparken, MAC adresleri ile istediğiniz IP adresini ilgili MAC adresini taşıyan bilgisayara sabitleyebilir (rezerve edebilir) durumda olursunuz. Aynısını IP adresleriyle yapamazsınız; atanan IP adresi, DHCP Server, Router ya da Firewall gibi bir IP adresi sağlayıcı sistem tarafından sağlanır ve belli zaman aralıklarında bu IP adresi bilgisi değişeceği için, IP adresini engellemek bir işe yaramayacağı gibi, belli bir cihaza sabitlemek, başka bir ifade ile rezerve etmek istediğiniz IP adresini, MAC adresi bilgisi olmadan rezerve edemeyeceksiniz.
Bilgisayarda MAC Adresi Nasıl Bulunur?
Bir bilgisayarda MAC adresi bulma işlemi, CMD (Command Promt) ya da Windows PowerShell üzerinden basit birkaç farklı komutla rahatlıkla yapılabilecek bir işlemdir.
1- Windows PowerShell üzerinde ipconfig komutu ile. Bu komuta ek olarak /all parametresini kullanıyorum.
2- Windows PowerShell üzerinde ipconfig komutu ile. Bu komuta ek olarak; 1. komut satırındaki /all parametresine ilaveten | findstr "Description Physical" komut eklentisini kullanıyorum.
ipconfig /all | findstr "Description Physical" |
3- Windows PowerShell üzerinde get-netadapter komutu ile. Komut çıktısının ekrana doğru bir şekilde sığması için FT (Format Table), -AutoSize ve -Wrap komut eklentilerini de kullanıyorum.
get-netadapter | FT -AutoSize -Wrap |
4- Windows PowerShell üzerinde 3. kısımdaki gibi get-netadapter komutu ile. Bu komutun bir öncekinden farkı, sonuç çıktısını filtrelemektir.
get-netadapter | Format-List -Property "Name", "InterfaceDescription", "MacAddress" |
5- Hem Windows PowerShell hem de Command Promt (CMD) üzerinde wmic komutu ile. Wmic komutunun çok geniş bir kullanım alanı bulunmaktadır. Wmic komutundan sonra /? yazmanız durumunda bu komutla kullanabileceğiniz değerleri görebilirsiniz. Ben, bu komutla birlikte NIC (Network Interface Card) değerini kullanarak, fiziksel NIC üzerindeki MAC adresi bilgisini çektim.
wmic nic where PhysicalAdapter=True get MACAddress,Name |
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.