MAC Adresse bei Benutzung von INDY Komponenten



  • Hallo,
    ich nutze eine Indy Komponente (TCP und UDP in Version 10) und möchte meinen Gegenüber anhand der MAC-Adresse "filtern".
    Komme ich in irgendeiner Form an die MAC Adresse des Gegenübers ran?
    Grüße
    Anton



  • Dafür existiert das Address Resolution Protocol. Das funktioniert aber nur im lokalen Netzwerkabschnitt, nicht über Router hinweg.
    Mir ist nicht bekannt, dass Indy dafür etwas implementiert hätte, du wirst vermutlich auf die WinAPI-Funktion SendARP zurückgreifen müssen.



  • Vielleicht habe ich mich etwas umständlich ausgedrückt: Die Verbindung steht mittels der INDY Komponente, ich möchte aber bei dieser Bestehenden Verbindung die MAC des "Gegenüber" auslesen/prüfen. Inden Datenpaketen des Ethernet ist sie ja definitiv drin....



  • AntonWert schrieb:

    Inden Datenpaketen des Ethernet ist sie ja definitiv drin....

    Nur für Geräte im lokalen Netzwerkabschnitt, also maximal bis zum Router.

    Wenn du eine TCP-Verbindung hast, dann hast du ja auch die IP-Adresse der Gegenstelle. An diese Adresse schickst du den ARP-Request, z.B. mit SendARP.

    Wie gesagt, ich bezweifle, dass INDY dafür irgendwo eine eingebaute Funktion hat.
    MAC-Adressen spielen nur auf Layer 2 des OSI-Schichtenmodells eine Rolle, die INDY-Komponenten arbeiten m.E. nur auf Layer 3 und höher.



  • Ich habe so eine Antwort befürchtet...

    Gerade bin ich dabei von der Indy-Komponente auf den darunterliegenden Socket zu kommen, vielleicht finde ich ja da noch ne Info....



  • Die Indy Sockets kapseln den ganzen Traffic Overhead für dich weg, du siehst nur die Nutzdaten. Um an die MAC der Gegenstelle zu kommen brauchst du ein Capture Framework wie z.B. winpcap auf Treiberebene. Damit kannst du den ganzen Netzwerkverkehr deines Rechners mithören und dir die Raw Pakete anschauen. Über den lokalen/remote Endpoint solltest du dann auch rausfinden, welches der Pakete die relevanten Informationen enthält. Schöne Aufgabe eigentlich.


Anmelden zum Antworten