Feedback

C# - MAC Adresse eines Netzwerkcomputers mithilfe der IP Adresse

Veröffentlicht von am 24.07.2008
(1 Bewertungen)
Die MAC-Adresse (Media Access Control, ist die Hardware-Adresse jedes einzelnen Netzwerkadapters, die zur eindeutigen Identifizierung des Geräts im Netzwerk dient.
(Quelle Wikipedia )

Dieser Snippet nützt von der "iphlpapi.dll" die Funktion SendARP um die MAC Adresse als byte-array zu erhalten.
GFU-Schulungen  [Anzeige]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

[DllImport("iphlpapi.dll", ExactSpelling = true)]
        public static extern int SendARP(int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen);

        /// <summary>
        /// Ermittelt die MAC Adresse eines im Netzwerk befindlichen Computers
        /// </summary>
        /// <param name="ip">Die IP des Netzwerkcomputers</param>
        /// <returns>Die MAC Adresse im string format</returns>
        private string GetMACAdress(IPAddress ip)
        {
            try
            {
                byte[] ab = new byte[6];
                int len = ab.Length;

                int r = SendARP((int)ip.Address, 0, ab, ref len);
                string mac = BitConverter.ToString(ab, 0, 6);
                
                return mac;
            }
            catch (Exception)
            {
                return "MAC not available";
            }
        }

3 Kommentare zum Snippet

Sperneder Patrick schrieb am 24.07.2008:
Erst als ich es veröffentlicht habe, habe ich gesehen das der völlig gleiche Snippet schon hier veröffentlicht wurde.
Sorry !
Jan Welker schrieb am 24.07.2008:
Macht nichts :-)
stol schrieb am 20.08.2008:
Als Anmerkung:
Dies funktioniert nur im eigenen Netz. Das ARP-Protokoll ist nicht routingsfähig!
 

Logge dich ein, um hier zu kommentieren!