Zabawy z Media Access Control [MAC]
Napisał: Patryk Krawaczyński
25/05/2007 w Administracja Brak komentarzy. (artykuł nr 23, ilość słów: 1134)
A
dres MAC jest unikalnym adresem sprzętowym komputera w sieci. W sieciach Ethernet i Token Ring, adres MAC jest zapisywany na stałe przez producenta w karcie sieciowej. W wielu różnych systemach informacje o tym adresie można uzyskać na wiele różnych sposobów:
Linux:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: ifconfig -a. Z wyświetlonych informacji, znajdujemy eth0 (jest to pierwszy adapter Ethernet w systemie). Następnie odczytujemy magiczne liczby i litery po frazie HWaddr. Jest to nasz szukany adres MAC. Adres MAC jest wyświetlany w przykładowej postaci: 00:06:4F:00:72:AD.
Link encap:Ethernet HWaddr 00:06:4F:00:72:AD inet addr:82.15.207.52 Bcast:82.15.207.53 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2396352 errors:0 dropped:0 overruns:0 frame:0 TX packets:2786785 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1422520588 (1.3 GiB) TX bytes:1495937263 (1.3 GiB) Interrupt:12 Base address:0xc000
Solaris/SunOS:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: ifconfig -a. Z wyświetlonych informacji, znajdujemy adapter Ethernet (prawdopodobnie będzie nazwany le0, ie0 lub hme0). Następnie lokalizujemy zapis adresu MAC po frazie ether. Jest to nasz szukany adres MAC.
hme0: flags=843mtu 1500 inet 192.9.2.106 netmask ffffff00 broadcast 192.9.2.255 ether 3:22:11:6d:2e:1f
FreeBSD/NetBSD:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: ifconfig -a. Z wyświetlonych informacji, znajdujemy adapter Ethernet (jego nazwa jest uwarunkowana w zależności od typu zainstalowanej karty np. rl0). Następnie lokalizujemy zapis adresu MAC po frazie ether. Jest to nasz szukany adres MAC.
flags=8843mtu 1500 inet 192.168.0.56 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::250:fcff:fe50:5688%rl0 prefixlen 64 scopeid 0x1 inet 192.168.0.57 netmask 0xffffffff broadcast 192.168.0.57 ether 00:50:fc:50:56:88 media: Ethernet autoselect (100baseTX )
OpenBSD:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: netstat -in. Z wyświetlonych informacji, znajdujemy adapter Ethernet (jego nazwa jest uwarunkowana w zależności od typu zainstalowanej karty np. rl0). Następnie lokalizujemy zapis adresu MAC pod frazą Address. Jest to nasz szukany adres MAC.
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Colls fxp0 1500 <Link> 00:08:c7:1b:8c:02 4112773 0 224501 0 0
Caldera/SCO UnixWare/OpenUNIX:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: ndstat. Z wyświetlonych informacji, znajdujemy pierwszy adapter Ethernet – net0. Następnie lokalizujemy zapis adresu MAC po frazie MAC Address in use. Jest to nasz szukany adres MAC.
Device MAC address in use Factory MAC Address ------ ------------------ ------------------- /dev/net0 00:00:c0:88:0a:2e 00:00:c0:88:0a:2e
HP-UX (HP UNIX):
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: lanscan. Z wyświetlonych informacji, znajdujemy pierwszy adapter Ethernet – lan0. Następnie lokalizujemy zapis adresu MAC po frazie Address. Jest to nasz szukany adres MAC. Jednak jest on zapisany z wskaźnikiem heksadecymalnym na początku, który przy odczycie powinien być usunięty np. 0x000E7F0D81D6 oznacza adres MAC: 00:0E:7F:0D:81:D6.
Hardware Station Dev Hardware Net-Interface NM Encapsulation Mjr Path Address lu State NameUnit State ID Methods Num 2.0.2 0x000E7F0D81D6 0 UP lan0 UP 4 ETHER 52
IRIX (SGI UNIX)
W wersji IRIX 4.01 lub starszej – jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: netstat -ia. Z wyświetlonych informacji, znajdujemy adapter Ethernet (jego nazwa jest zależna od rodzaju zainstalowanej karty). Następnie lokalizujemy zapis adresu MAC po frazie Address. Jest to nasz szukany adres MAC. Alternatywną metodą jest komenda: /etc/nvram eaddr.
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ec0 1500 nowhere warum 6514913 10234 184317 0 13513 192.168.111.90 00:00:6b:71:1a:6a
NeXTStep:
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: ifconfig -a. Z wyświetlonych informacji, znajdujemy pierwszy adapter Ethernet, który prawdopodobnie będzie nazwany le0 lub ie0. Następnie lokalizujemy zapis adresu MAC po frazie ether. Jest to nasz szukany adres MAC. Jednak jest on zapisany z usunięciem przednich zer na początku zapisu. Dlatego zapis: 0:0:f:a1:75:a0 symbolizuje MAC: 00:00:0f:a1:75:a0.
le0: flags=863 mtu 1500 inet 192.168.111.70 netmask ffffff00 broadcast 192.168.111.255 ether 0:0:f:a1:75:a0
AIX (IBM UNIX):
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: netstat -ia. Z wyświetlonych informacji, znajdujemy adapter Ethernet (jego nazwa jest zależna od rodzaju zainstalowanej karty). Następnie lokalizujemy zapis adresu MAC po frazie Address. Jest to nasz szukany adres MAC.
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ec0 1500 nowhere flotsam 5514233 11434 101317 0 14113 192.168.111.95 00:09:6B:51:1f:79
Tru64 UNIX (Digital UNIX):
Jako użytkownik root (lub użytkownik z odpowiednimi uprawnieniami) wydajemy komendę: netstat -ia. Z wyświetlonych informacji, znajdujemy adapter Ethernet (jego nazwa jest zależna od rodzaju zainstalowanej karty). Następnie lokalizujemy zapis adresu MAC po frazie Address. Jest to nasz szukany adres MAC.
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ec0 1500 nowhere flotsam 5514233 11434 101317 0 14113 192.168.111.95 00:09:6B:51:1f:79
Jeśli interesuje nas wyciągnięcie samego adresu MAC z komendy ifconfig w systemie Linux możemy wykorzystać komendę:
ifconfig | sed -ne 's/.*HW\w* //p'
Więcej informacji: Wyszukiwanie nazwy producenta po adresie MAC, Dokument RFC