AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte GetMAC - Ein Programm zum Ermitteln von MAC-Adressen
Thema durchsuchen
Ansicht
Themen-Optionen

GetMAC - Ein Programm zum Ermitteln von MAC-Adressen

Ein Thema von Luckie · begonnen am 16. Jun 2008 · letzter Beitrag vom 13. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#1

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

  Alt 12. Sep 2010, 11:40
Welche MAC-Adresse wird da denn zurück gegeben?
Welche soll es denn sein? Die, über die du mit dem Remote-Rechner kommunizierst natürlich. Eine andere Wahl gibt es nicht. (Außer deine Packete werden geroutet, dann ist es die des nächstgelegenen Routers).

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

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

  Alt 12. Sep 2010, 12:17
Was, wenn ich per WLAN im Internet bin und per LAN im lokalen Netzwerk?

So natürlich wie du es darstellst ist das für mich nicht (habe den Code nicht angesehen).
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 12. Sep 2010, 12:19
Ein Rechner hat keine MAC, sondern eine Netzwerkkarte. Deshalb ist Matze's Frage imho berechtigt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

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

  Alt 12. Sep 2010, 13:31
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;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

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

  Alt 12. Sep 2010, 15:22
Copy&Paste aus der Code-Library und fertig ist GetMAC (fast).
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

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

  Alt 12. Sep 2010, 19:34
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#7

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

  Alt 12. Sep 2010, 20:56
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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

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

  Alt 12. Sep 2010, 16:27
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
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

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

  Alt 12. Sep 2010, 16:28
Wenn man mit 2 Netzwerkkarten im Netz hängt, sollte man dann nicht auch zwei IPs haben
Jo klar. Sagt auch keiner was anderes.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#10

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

  Alt 12. Sep 2010, 16:49
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
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 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