Seite 1 von 2

MAC-Adresse

Verfasst: 12.04.2011 13:46
von Folli
Hallo,

wie ermittle ich die MAC-Adresse von einem Client?

Ich habe zu Hause einen kleinen Server laufen der alle Schalthandlungen (Licht Steckdosen usw.) ausführt und protokolliert. Gesichert habe ich den Zugriff mittels Passwort. Das Passwort ist der IP-Adresse zugeordnet.
Nun möchte ich mit meinem Android Handy über WLAN nicht immer das Passwort eingeben. Dazu möchte ich über die MAC-Adresse mein Handy ausfiltern und dies freischalten.

Danke Folli

Re: MAC-Adresse

Verfasst: 12.04.2011 14:37
von Bisonte
Ich denke, das dies nur über den Client selbst funktioniert.
Also müsstest du beim Handy die Mac Adresse ermitteln und dann an deinen Server senden.

Das wäre dann "Andere Sprachen" Abteilung ...

Re: MAC-Adresse

Verfasst: 12.04.2011 15:07
von HeX0R
Mit arp müsste das gehen:

Code: Alles auswählen

arp -a 192.168.1.1
(aber nur, wenn er schon verbunden ist, evtl. erst anpingen und dann arp aufrufen.)

Re: MAC-Adresse

Verfasst: 14.04.2011 13:39
von Folli
HeX0R hat geschrieben:Mit arp müsste das gehen:

Code: Alles auswählen

arp -a 192.168.1.1
(aber nur, wenn er schon verbunden ist, evtl. erst anpingen und dann arp aufrufen.)

Danke HeXOR,

nur wie ermittle ich die MAC-Adresse?
PureBasic kennt den Befehl 'arp -a 192.168.1.1' nicht.
Entschuldige meine Unwissenheit --> Anfänger Frage

Folli

Re: MAC-Adresse

Verfasst: 14.04.2011 15:42
von Shardik
Folli hat geschrieben:PureBasic kennt den Befehl 'arp -a 192.168.1.1' nicht.
"arp" ist keine PureBasic-Anweisung, sondern ein Utility-Programm, das zum
Windows-Betriebssystem gehört. "arp" kann entweder in der Konsole (Cmd)
gestartet werden oder in PureBasic als Programm über die Konsole aufgerufen
werden:

Code: Alles auswählen

RunProgram("Cmd", "/K arp -a 192.186.1.1", "")
Die Auswertung der dann ausgegebenen "Physikal. Adresse" (= MAC-Adresse)
muß dann noch durch Deinen weiteren Programm-Code erfolgen.

Ein weitere Möglichkeit der Ermittlung der MAC-Adresse über die Angabe eines
Rechnernamens oder einer IP-Adresse im Netzwerk nur mit Windows API-Befehlen
hat ABBKlaus bereits schon einmal im englischen Forum gezeigt:
http://www.purebasic.fr/english/viewtopic.php?t=29962

Re: MAC-Adresse

Verfasst: 14.04.2011 16:02
von NicTheQuick
Funktioniert übrigens auch unter Linux. :wink:

Re: MAC-Adresse

Verfasst: 14.04.2011 16:43
von bobobo
jau .. arp :mrgreen:
Bild

Re: MAC-Adresse

Verfasst: 14.04.2011 17:04
von Shardik
NicTheQuick hat geschrieben:Funktioniert übrigens auch unter Linux. :wink:
Na klar, aber unter Linux nur mit root-Rechten... :twisted:

ARP bedeutet schließlich Address Resolution Protocol und ist damit natürlich nicht an ein
bestimmtes Betriebssystem gebunden. So existiert in Linux ebenfalls ein Programm namens
"arp"...

Dieses Beispiel läuft unter Windows und Linux:

Code: Alles auswählen

CompilerIf #PB_Compiler_OS = #PB_OS_Linux
  If getuid_() <> 0
    MessageRequester("Fehler", "arp benötigt zum Aufruf root-Rechte!")
    End
  EndIf
CompilerEndIf

ProgramID = RunProgram("arp", "-a 192.168.1.1", "", #PB_Program_Open | #PB_Program_Read)

If ProgramID
  While ProgramRunning(ProgramID)
    If AvailableProgramOutput(ProgramID)
      Output$ + ReadProgramString(ProgramID) + #CR$
    EndIf
  Wend
  
  CloseProgram(ProgramID)

  MessageRequester("Output", Output$)
EndIf

Re: MAC-Adresse

Verfasst: 14.04.2011 17:16
von NicTheQuick
Root-Rechte?

Also bei mir klappt's auch ohne Root-Rechte als normaler Benutzer.

Re: MAC-Adresse

Verfasst: 14.04.2011 17:31
von ts-soft
Funktioniert bei mir nur mit dem Router. Der Code von ABBKlaus geht auch mit anderen lokalen Adaptern.