آدرس های MAC برای شناسایی دستگاه های متصل به شبکه استفاده می شود. راه های مختلفی وجود دارد که می توانید آدرس MAC خود را در لینوکس پیدا کنید.
اگر سیستم لینوکس را مدیریت می کنید، احتمالاً زمان هایی وجود دارد که باید آدرس MAC سیستم خود را بدانید. ممکن است به دلایل مختلفی به این اطلاعات نیاز داشته باشید. شاید بخواهید که DHCP یک آدرس IP ثابت را به شما اختصاص دهد. برای این کار به آدرس MAC نیاز دارید تا بتوانید نقشه آدرس IP و MAC را به تنظیمات سرور DHCP خود اضافه کنید.
همچنین ممکن است برای فیلتر کردن آدرس MAC به این اطلاعات نیاز داشته باشید تا دستگاههای خاصی را در شبکه خود مجاز یا مسدود کنید. یا شاید بخواهید Wake-on-LAN را راه اندازی کنید. دلیل هر چه که باشد، در اینجا چند راه مختلف برای پیدا کردن آدرس MAC در سیستم لینوکس شما وجود دارد.
آدرس MAC چیست؟
آدرس MAC که به عنوان آدرس فیزیکی یا سخت افزاری نیز شناخته می شود، یک شناسه منحصر به فرد است که با کارت رابط شبکه تقریباً هر دستگاه متصل به یک شبکه مرتبط است.
آدرس MAC در لایه دوم (لایه پیوند داده) مدل OSI عمل می کند و طول آن 48 بیت است که در آن 24 بیت اول نشان دهنده شناسه سازنده و 24 بیت آخر نشان دهنده شناسه منحصر به فرد آن NIC است. مانند آدرس های IP، می توانید آدرس MAC کارت شبکه خود را نیز تغییر دهید.
آدرس MAC را در لینوکس از طریق خط فرمان پیدا کنید
در اینجا چند روش سریع و ساده برای پیدا کردن آدرس MAC خود در لینوکس وجود دارد:
با استفاده از ip Command
می توانید از دستور ip در لینوکس برای مشاهده و پیکربندی رابط های شبکه فیزیکی و مجازی، مسیریابی، مسیریابی خط مشی ها و تونل ها استفاده کنید. میتواند یک رابط شبکه اضافه یا حذف کند، آدرسهای IP را اختصاص/حذف کند، وضعیت رابطهای شبکه را نمایش دهد و کارهای بسیار مفیدتری را انجام دهد.
با استفاده از دستور ip زیر می توانید آدرس MAC سیستم خود را پیدا کنید:
ip link show
این دستور جزئیات تمام رابطهای شبکه از جمله آدرسهای MAC آنها را به همراه پیوند برچسب/اتر همانطور که در زیر مشخص شده است نشان میدهد:
برای پیدا کردن آدرس MAC یک رابط شبکه خاص، از دستور زیر استفاده کنید:
ip link show dev
با استفاده از دستور ifconfig
دستور ifconfig در لینوکس به شما اجازه می دهد تا وضعیت رابط های شبکه را پیکربندی و نمایش دهید. علاوه بر این، می تواند یک رابط شبکه را نیز فعال و غیرفعال کند.
برای یافتن آدرس MAC تمام رابط های شبکه موجود (حتی اگر غیرفعال شده باشند)، از دستور ifconfig با پرچم -a به صورت زیر استفاده کنید:
ifconfig -a
برای پیدا کردن آدرس MAC یک رابط شبکه خاص، نام آن را به عنوان آرگومان مشخص کنید:
ifconfig interface_name
برای یافتن آدرس MAC تمام رابط های شبکه فعال فعلی، از دستور ifconfig بدون هیچ پرچمی استفاده کنید:
ifconfig
در خروجی، می توانید آدرس MAC رابط خود را در کنار برچسب اتر همانطور که در زیر مشخص شده است، بیابید:
با استفاده از ethtool Utility
ethtool یک ابزار لینوکس است که به شما امکان می دهد درایورهای شبکه و تنظیمات کارت رابط شبکه را جستجو و پیکربندی کنید. با استفاده از ابزار ethtool، میتوانید یک رابط شبکه را برای آدرس MAC آن جستجو کنید.
در اینجا دستور انجام این کار وجود دارد:
ethtool -P interface_name
آدرس MAC را از فهرست /sys/class/net دریافت کنید
فهرست /sys/class/net حاوی اطلاعاتی در مورد دستگاه های شبکه متصل به سیستم است. این دایرکتوری یک زیر شاخه جداگانه برای هر یک از رابط های شبکه مانند /sys/class/net/ens33 و /sys/class/net /ens37 نگهداری می کند.
هر زیر شاخه حاوی فایل های مختلفی برای هر ویژگی شبکه مانند آدرس MAC، وضعیت عملیاتی دستگاه شبکه، دوبلکس، MTU و غیره است. اطلاعات آدرس MAC در فایل آدرس ذخیره می شود.
برای فهرست کردن رابط های شبکه متصل به سیستم خود، از دستور زیر استفاده کنید:
ls /sys/class/net
برای پیدا کردن آدرس MAC یک رابط شبکه خاص، از دستور زیر استفاده کنید:
cat /sys/class/net/interface_name/address
به عنوان مثال، برای پیدا کردن آدرس MAC یک رابط شبکه، فرض کنید ens33، دستور زیر خواهد بود:
cat /sys/class/net/ens33/address
چگونه آدرس MAC را در لینوکس از طریق رابط کاربری گرافیکی پیدا کنیم
کسانی که رابط کاربری گرافیکی را برای کارهای معمول خود ترجیح می دهند، می توانند آدرس MAC خود را به صورت گرافیکی با استفاده از مدیر شبکه ارائه شده توسط توزیع خود پیدا کنند. مانند اوبونتو، می توانید از تنظیمات Network Connections استفاده کنید.
تنظیمات را در توزیع لینوکس خود با کلیک راست روی دسکتاپ یا از منوی برنامه ها باز کنید. از پنل سمت چپ، به تب Network بروید. با این کار تمام رابط های شبکه متصل به سیستم شما نمایش داده می شود.
برای پیدا کردن آدرس MAC یک رابط شبکه، روی نماد Cog (تنظیمات) در جلوی آن کلیک کنید.
با این کار پنجره جدیدی باز می شود که جزئیات رابط شبکه شما را نشان می دهد. در اینجا آدرس MAC را در کنار برچسب Hardware Address پیدا خواهید کرد.
برای این راهنما، ما از گنوم برای تصاویر استفاده کردهایم، اما سایر محیطهای دسکتاپ نیز تنظیمات مشابهی دارند، فقط با برچسبهای مختلف.
آدرس MAC یک سیستم دیگر را در یک شبکه محلی پیدا کنید
مشابه آدرس MAC خود، می توانید آدرس MAC سیستم های دیگر را در یک شبکه محلی نیز پیدا کنید. در اینجا چگونه است:
با استفاده از دستور arp
شما می توانید از ARP یا پروتکل Address Resolution برای یادگیری آدرس MAC برای یک آدرس IP معین استفاده کنید. برای پیدا کردن آدرس MAC یک سیستم دیگر در یک شبکه محلی، آدرس IP آن را با این پینگ پینگ کنید:
ping -c1 <IP address>
دستور ping از ARP برای یادگیری آدرس MAC سیستم راه دور استفاده می کند. هنگامی که این اطلاعات را دریافت کرد، در جدول ARP ذخیره می شود که می توانید با استفاده از:
arp -n | grep <IP address>
این دستور آدرس MAC را برای آدرس IP داده شده چاپ می کند.
با استفاده از ابزار arping
ابزار arping به شما کمک می کند تا سیستم های محلی را در یک شبکه کشف و بررسی کنید. در لایه دوم مدل OSI کار می کند و درخواست ARP را به سیستم می فرستد تا مشخص کند که آیا زنده است و پاسخ می دهد. این با ابزار پینگ که در لایه سوم کار می کند متفاوت است.
با استفاده از دستورات زیر می توانید arping را نصب کنید:
در توزیع های مبتنی بر دبیان:
sudo apt install arping
در توزیع های مبتنی بر RHEL:
sudo yum install arping
پس از نصب، آدرس MAC سیستم دیگری را در یک شبکه با تعیین آدرس IP آن به عنوان آرگومان با استفاده از دستور زیر پیدا کنید:
sudo arping -c 1 <IP address>
اگر سیستم شما دارای چندین NIC است، می توانید با استفاده از پرچم -I (بزرگ “i”) و به دنبال نام رابط، مشخص کنید که درخواست از کدام رابط ارسال شود:
sudo arping -c 1 -I interface_name <IP address>
به عنوان مثال، دستور زیر یک درخواست ARP را از رابط ens33 خود به آدرس IP سیستم راه دور 192.168.42.133 ارسال می کند.
sudo arping -c 1 -I ens33 192.168.42.133
در خروجی، پاسخ ARP را از سیستم مقصد حاوی آدرس MAC آن دریافت خواهید کرد.
پیدا کردن آدرس MAC خود در لینوکس آسان است
با توجه به روشهای مختلف یافتن آدرس MAC در لینوکس، میتوانید هر کدام را که مناسب میدانید انتخاب و انتخاب کنید.
مشابه لینوکس، میتوانید آدرس MAC را در ویندوز و macOS نیز بیابید. با این حال، آنها مجموعه های متفاوتی از دستورات و رابط کاربری گرافیکی دارند.