Wie wäre eine Server-Client Lösung? Der Server fragt nach der Mac Adresse und der Client antwortet mit der Mac Adresse. Der einzige Nachteil ist natürlich, dass zusätzlich ein Programm auf den Clients eingerichtet werden muss. Aber wenn man die Rechner aufsetzt kann man das ja auch noch schnell machen. Bei einer entsprechenden Anzahl von Rechnern fällt das dann nicht mehr ins Gewicht.
Siehe mein eröffnendes Post:
Ich suche eine elegante Möglichkeit, mit einem Delphi-Programm die MAC-Adresse eines Gerätes zu ermitteln, welches per LAN-Crossover-Kabel (also ohne Switch, Router o.ä. dazwischen) mit der Netzwerkkarte des Rechners verbunden ist, auf dem das Delphi-Programm läuft. Dabei geht es um Identifikation im Prüffeld, also der Reihe nach eine größere Stückzahl an Geräten anschließen, MAC auslesen und Etikett mit kodierter MAC-Adresse ausdrucken. Es handelt sich dabei um
ganz unterschiedliche Embedded-Geräte mit ganz unterschiedlichen Betriebssystemen. Der Prüfrechner befindet sich auch nicht auf Umwegen in einem größeren Netzwerk, sodass man sich auf Protokollebene "austoben" könnte ohne in einem Netzwerk "Konfusionismus" auszulösen
Ich meine das durchaus wörtlich. In vielen Fällen handelt es sich um Embedded-Geräte mit Linux-Kernels. Ich würde noch nicht mal sagen dass die herstellerseitig verrammelt wären. Vielmehr geht es um den Faktor Quantität. Es ist schlicht von den Abläufen her nicht möglich, jedes Gerät anzupassen und sich eine Client-Software zu installieren. Zumal in vielen Fällen gar keine Eingabemöglichkeit besteht solange das betreffende Gerät nicht in seinem eigentlichen Ziel-Ökosystem installiert ist.
Ein Beispiel sind VoIP-Telefone. Die haben zwar ihre MAC-Adresse in Form eines Aufklebers am Gehäuse. Jedoch A) in Schriftgröße < 4 Pt. und B) keine maschinenlesbare Form wie Barcode usw. Also höchst fehlerträchtig beim Ablesen in größeren Stückzahlen. Die Dinger haben aber den Vorteil, dass sie wenn sie booten, einen DHCPv4-Request absetzen. Insofern noch easy.
Ein weiteres Beispiel sind LAN-fähige Baugruppen. Da gibt es in einigen Fällen keinen
IP-Stack. Vielmehr laufen die mit vollständig proprietären
OS und Protokollen. Da sie sich aber mit Standard-Switches verteilen lassen, müssen sie (so meine Denke) zumindest auf Ethernet aufsetzen. Diese Dinger haben z.T. noch nicht mal einen Aufkleber mit der MAC-Adresse.
Ich bin echt überrascht dass es da im Ethernet-Standard kein "Magic Packet" gibt, das einen Peernode dazu veranlasst, seine MAC-Adresse auszuspucken. Bezw. einen gemeinsamen Standard, welchen sie nutzen um sich, wenn sie an einen Switch angeschlossen werden, diesem bekannt zu machen. Ich dachte bisher immer, auf den unteren Protokollebenen würde das nicht vom Betriebssystem sondern von den Firmwares der Ethernet-Controller übernommen und es gäbe da sowas wie den kleinsten gemeinsamen Nenner.