MAC-Adresse

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: MAC-Adresse

Beitrag von Shardik »

DarkDragon hat geschrieben:@Shardik: das ist überall einstellbar wie man will ;-) . Die Rechte kann man nach belieben einschränken und das für fast alles.
Das ist mir schon klar. Meine beiden getesteten Linux-Systeme sind
sozusagen "out of the box", d.h. ich habe keine Rechtevergaben nach
der Installation verändert. Deshalb hatte ich ja auch NicTheQuick gefragt,
ob er vielleicht irgendwelche Änderungen an seinem Ubuntu 10.04
vorgenommen hat.

Ich habe das Problem aber gefunden. "arp" ist immer (auch auf MacOS X,
einem Derivat von BSD-Unix) in /usr/sbin gespeichert. Auf meinen Linux-
Systemen wird "arp" aber bei der Eingabe in der Konsole ohne root-Rechte
und ohne eine Pfadangabe nicht gefunden. Es lag daher nur indirekt an den
root-Rechten (hier wurde "arp" nämlich gefunden). Wenn ich also den Pfad
angebe, werden tatsächlich keine root-Rechte benötigt. Standardmäßig hat
"arp" für "other" nämlich die Lese- und Ausführungs-Rechte gesetzt.

Das folgende Beispiel habe ich unter Windows XP SP2 + SP3, Windows 7 x64,
Linux und MacOS X 10.6.7 getestet und es benötigt auf keiner Plattform
Administrator-Rechte:

Code: Alles auswählen

#IPAddress = "192.168.1.1"

CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows
    Command$ = "arp"
    Parameter$ = "-a " + #IPAddress
  CompilerDefault
    Command$ = "/usr/sbin/arp"
    Parameter$ = #IPAddress
CompilerEndSelect

ProgramID = RunProgram(Command$, Parameter$, "", #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
Antworten