Feedback

C# - MAC Adresse einer IP ermitteln

Veröffentlicht von am 21.01.2007
(2 Bewertungen)
Diese Funktion ermittelt die MAC Adresse der Netzwerkkarte der übergebenen IP. Genutzt wird das Address Resolution Protocol.

benötigte Namespaces:
System.Runtime.InteropServices
System.Net
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

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

/// <summary>
/// Requests the MAC address using Address Resolution Protocol
/// </summary>
/// <param name="IP">The IP.</param>
/// <returns>the MAC address</returns>
private string RequestMACAddress(string IP)
{
    IPAddress addr = IPAddress.Parse(IP);
    byte[] mac = new byte[6];
    int length = mac.Length;
    SendARP((int)addr.Address, 0, mac, ref length);
    string macAddress = BitConverter.ToString(mac, 0, length);
    return macAddress;
}
Abgelegt unter MAC, ARP, IP.

1 Kommentare zum Snippet

Koopakiller schrieb am 08.11.2014:
Die Übergabe der IP direkt als IPAddress-Objekt fände ich besser, mit dem String entstehen häufig nur unnötige Casts/Parsingvorgänge und der Code wird Fehleranfälliger.
 

Logge dich ein, um hier zu kommentieren!