چگونه در #C آدرس فیزیکی (مک آدرس) را توسط آی پی آدرس بدست آوریم

برای بدست آوردن مک آدرس از طریق آی پی آدرس می توانید از کد زیر استفاده کنید

کتابخانه های مورد نیاز

using System.Net;

using System.Net.NetworkInformation;

شروع کد

        [System.Runtime.InteropServices.DllImport("iphlpapi.dll", ExactSpelling = true)]

        static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref int PhyAddrLen);

این تابع را هنگام نیاز به تبدیل صدا بزنید

        public static PhysicalAddress GetMacAddress(IPAddress ipAddress)

        {

            const int MacAddressLength = 6;

            int length = MacAddressLength;

            var macBytes = new byte[MacAddressLength];

            SendARP(BitConverter.ToInt32(ipAddress.GetAddressBytes(), 0), 0, macBytes, ref length);

            return new PhysicalAddress(macBytes);

        }

پایان

حال برای استفاده فقط کافیست که به شکل زیر تابع را فرا بخوانید

                IPAddress ipaddress = IPAddress.Parse("192.168.1.1");

                PhysicalAddress mac = GetMacAddress(ipaddress);

شاید شما تنها نام سیستم را بدانید و آدرس آی پی آن متغییر باشد آنگاه بهتر است به شکل زیر عمل کنید

                string ipaddr = Dns.GetHostByName("pcname").AddressList[0].ToString(); 

                IPAddress ipaddress = IPAddress.Parse(ipaddr);

                PhysicalAddress mac = GetMacAddress(ipaddress);


امکان ارسال نظر برای این موضوع وجود ندارد