Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   GetMAC - Ein Programm zum Ermitteln von MAC-Adressen (https://www.delphipraxis.net/115679-getmac-ein-programm-zum-ermitteln-von-mac-adressen.html)

Luckie 12. Sep 2010 13:31

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;

Matze 12. Sep 2010 15:22

AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
 
Copy&Paste aus der Code-Library und fertig ist GetMAC (fast). ;)

BUG 12. Sep 2010 16:27

AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
 
Zitat:

Zitat von Matze (Beitrag 1049002)
Was, wenn ich per WLAN im Internet bin und per LAN im lokalen Netzwerk?

Wenn man mit 2 Netzwerkkarten im Netz hängt, sollte man dann nicht auch zwei IPs haben :gruebel:

Matze 12. Sep 2010 16:28

AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
 
Zitat:

Zitat von BUG (Beitrag 1049084)
Wenn man mit 2 Netzwerkkarten im Netz hängt, sollte man dann nicht auch zwei IPs haben :gruebel:

Jo klar. Sagt auch keiner was anderes. ;)

BUG 12. Sep 2010 16:49

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:

Matze 12. Sep 2010 16:53

AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
 
Zitat:

Zitat von BUG (Beitrag 1049098)
Also hängt es wohl davon ab, auf welche IP der Name abgebildet wird.

Oder bin ich völlig am Thema vorbeigeschossen :mrgreen:

Äh jein. :mrgreen:

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.

Luckie 12. Sep 2010 19:34

AW: GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
 
Zitat:

Zitat von Matze (Beitrag 1049052)
Copy&Paste aus der Code-Library und fertig ist GetMAC (fast). ;)

Leider wird das WMI benutzt. Aber ich muss ja nur alle an den Rechner vergebenen IP's durchgehen und zu jeder IP-Adresse die MAC-Adresse ermitteln.

Valle 12. Sep 2010 20:56

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

Luckie 13. Sep 2010 14:26

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?

Luckie 13. Sep 2010 17:18

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 15:48 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz