![]() |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Gute Frage ehrlich gesagt. Daran habe ich gar nicht gedacht, dass ein Rechner mehrere Netzwerkkarten haben könnte.
Das ist die Funktion, die ich nutze:
Delphi-Quellcode:
function GetMacAddr(IP: string; var MAC: string): Integer;
var DestIP: IPAddr; pMacAddr: PULong; AddrLen: ULong; MacAddr: array[0..5] of byte; p: PByte; i: integer; res: Integer; begin DestIp := inet_addr(PChar(IP)); pMacAddr := @MacAddr[0]; AddrLen := SizeOf(MacAddr); res := SendARP(DestIP, 0, pMacAddr, AddrLen); if res = NO_ERROR then begin p := PByte(pMacAddr); for i := 0 to AddrLen - 1 do begin MAC := MAC + IntToHex(p^, 2) + '-'; Inc(p); end; SetLength(MAC, length(MAC) - 1); end; Result := res; end; |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Copy&Paste aus der
![]() |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Zitat:
|
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Zitat:
|
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Ah, jetzt *laut-denk*: Bei der Ermittelung aus der IP sollte man die dazugehörige MAC-Adresse kriegen, also ging es um die Ermittelung aus dem Namen.
Also hängt es wohl davon ab, auf welche IP der Name abgebildet wird. Oder bin ich völlig am Thema vorbeigeschossen :mrgreen: |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Zitat:
Einem Namen lassen sich mehrere Netzwerkkarten/IPs zuordnen. Wenn ich die Funktion aus der CL nutze, zeigt es bei mir 8 - 10 MAC-Adressen an, obwohl ich nur 4 habe. Das ganze Thema ist mir etwas suspekt, muss ich zugeben. Es sei denn, das sind virtuelle Netzwerkkarten vom Bundestrojaner, die über "ipconfig /all" versteckt werden. :mrgreen: Ok, das geht zu sehr am Thema vorbei. Lassen wir das. |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Zitat:
|
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Ihr erhaltet die MAC, welche in der Schnittstellen-Priorität als erstes kommt. Solltet ihr also per WLAN und LAN online sein, dann sollte es die MAC-Adresse des LAN-Ports des Routers geben, da Windows sinnvoller weise die LAN-Verbindung als besser erachtet ( = höher priorisiert).
Wo diese Priorität unter Windows zu finden ist - muss ich gestehen - weiß ich nicht genau. Ich denke mal, es ist die selbe wie die Metrik in der Routing-Tabelle. cmd.exe -> "route SHOW" Man suche sich in der IPv4 Tabelle die passenden Ziele für die gewünschte IP aus und schnappt sich anschließend die passende Schnittstelle aus dem Eintrag mit der niedrigsten Metrik. ;-) Liebe Grüße, Valle |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Also, wenn ich die IP vorgebe ist es ja klar. Da bekomme ich die MAC zu dem Adapter dessen IP ich angegeben habe. Das Funktioniert auch mit Rechnern im Netzwerk.
Wenn ich den Namen eines Rechners im Netzwerk angebe, kann ich dann alle IPs von allen Adaptern des Rechners bekommen? |
AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Ich habe die GUI-Version noch etwas aufgemotzt. Gibt man den Computernamen ein, wird auch die IP ermittelt und umgekehrt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz