MAC-Adresse

Anfängerfragen zum Programmieren mit PureBasic.
Folli
Beiträge: 7
Registriert: 20.05.2010 18:14

MAC-Adresse

Beitrag 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
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Re: MAC-Adresse

Beitrag 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 ...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: MAC-Adresse

Beitrag 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.)
Folli
Beiträge: 7
Registriert: 20.05.2010 18:14

Re: MAC-Adresse

Beitrag 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
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: MAC-Adresse

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: MAC-Adresse

Beitrag von NicTheQuick »

Funktioniert übrigens auch unter Linux. :wink:
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: MAC-Adresse

Beitrag von bobobo »

jau .. arp :mrgreen:
Bild
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: MAC-Adresse

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: MAC-Adresse

Beitrag von NicTheQuick »

Root-Rechte?

Also bei mir klappt's auch ohne Root-Rechte als normaler Benutzer.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: MAC-Adresse

Beitrag von ts-soft »

Funktioniert bei mir nur mit dem Router. Der Code von ABBKlaus geht auch mit anderen lokalen Adaptern.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten