IP-Adresse anhand MAC-Adresse finden

Hallo,
ich habe bisher per regelmäßigem Ping auf eine IP-Adresse die Einschaltdauer meines Samsung-Fernsehers im Webfront visualisiert. Jetzt hab ich meinen DHCP-Server geändert und mein Samsung bekommt jetzt bei jedem einschalten eine andere IP-Adresse. Gibt es denn per PHP einen Befehl, anhand der MAC-Adresse (die ja nicht verändert wird) die zugewiesene IP-Adresse zu erhalten? Ich möcht keine feste IP-Adresse einstellen, ausserdem würde ich das Verfahren auch für andere Geräte verwenden wollen!

Gruß
jgoller

grob und ungetestet

$strArpCacheOutput = exec("arp -a"); 

den String musst Du dann mit regulären Ausdrücken auseinandernehmen …

die große Suchmaschine hilft da auch sehr …

Das wollten schon mehr Leute wissen :slight_smile:

Klappt es damit?

Hallo.

Warum trägst Du auf dem DHCP-Server für die MAC-Adresse des Samsung nicht eine feste IP ein?

Ich würde ja mit festen IPs arbeiten ;), aber wenn du gerne scripten möchtest :eek:. PHP Kommandos dazu kenne ich nicht.

Du könntest im DOS-Fenster ein „arp -a“ ausführen und das Ergebnis mit PHP auswerten. Je nach Windowsversion auf deinem IPS Rechner sieht das Ergebnis etwas anderes aus. Z.B. so


>arp -a

Schnittstelle: 172.16.100.22 --- 0xa
Internetadresse       Physische Adresse     Typ
172.16.100.1          24-65-11-aa-a9-99     dynamisch
172.16.100.20         00-1e-33-25-3a-9e     dynamisch

EDIT: Drei Do… ein Gedanke :cool:.

Hallo.

ich würde auch auf jeden Fall mit fixen IP Adressen arbeiten.
Mit arp -a wirst du nicht unbedingt alle MAC Adressen finden, da ja der Switch nicht alles weiterleitet, und so dein PC nicht alle MAC bzw IPs im Netz kennt. Dazu könntens du zuerst einen Ping auf die Broadcast Adresse machen, aber Windows kann das glaub ich nicht. (In Unix geht das). Also könntest du zuerst in einer Schleife alle möglichen IPs anpingen und dann arp -a machen, dann sollten alle MAC Adressen verfügbar sein, oder einfach fixe IP verwenden.

gruß garfi

Hallo,
nein, so richtig funktioniert das nicht. Ich bekomme als ausgabe nur:

255.255.255.255      ff:ff:ff:ff:ff:ff            statisch

Mehr kommt da leider nicht. Die MAC-Adresse des Fernsehers kenn ich ja, kann ich da nicht ansetzen und genau diese MAC-Adresse auf Verfügbarkeit (wenn TV an ist) prüfen?

Hat dein Fernseher im Netzwerk einen Namen?
Dann hilft dir vielleicht der Befehl :
nslookup

Also wenn Du es nicht über einen Eintrag im DHCP-Server lösen willst such doch mal nach einem Tool Namens „FING“. Das gibt es als Command-Line Tool welches Du auch im Hintergrund als Service einrichten kannst. Und das behält im Auge was für Geräte bei Dir im Netz aktiv sind und legt diese Informationen bei Bedarf in einer Textdatei ab die Du dann wieder auswerten kannst.

Hallo!
Vielen Dank für die Lösungsansätze. Für diese recht einfache Funktion ein externes Tool wie Fing (kenn ich für Android und ist sehr gut) zu bemühen, ist mir etwas zu oversized. Ich hab dem TV jetzt ne IP-Adresse gegeben und gut ist!

Schönen Abend noch
jgoller

Hallo jgoller,

das mit arp -a hab ich dir oben erklärt. siehe

C:\Users\chris>arp -a

Schnittstelle: 192.168.1.95 --- 0xb
  Internetadresse       Physische Adresse     Typ
  192.168.1.1           bc-05-34-f5-9e-51     dynamisch
  192.168.1.120         00-24-a5-fc-51-31     dynamisch
  192.168.1.141         00-18-7d-c9-3c-b7     dynamisch
  192.168.1.255         ff-ff-ff-ff-ff-ff     statisch
  255.255.255.255       ff-ff-ff-ff-ff-ff     statisch

C:\Users\chris>ping 192.168.1.101

Ping wird ausgeführt für 192.168.1.101 mit 32 Bytes Daten:
Antwort von 192.168.1.101: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.1.101: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.1.101: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.1.101: Bytes=32 Zeit<1ms TTL=64

Ping-Statistik für 192.168.1.101:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

C:\Users\chris>arp -a

Schnittstelle: 192.168.1.95 --- 0xb
  Internetadresse       Physische Adresse     Typ
  192.168.1.1           bc-05-34-f5-9e-51     dynamisch
  192.168.1.101         00-09-34-3c-61-06     dynamisch
  192.168.1.120         00-24-a5-fc-51-31     dynamisch
  192.168.1.141         00-18-7d-c9-3c-b7     dynamisch
  192.168.1.255         ff-ff-ff-ff-ff-ff     statisch
  255.255.255.255       ff-ff-ff-ff-ff-ff     statisch

C:\Users\chris>

du kennst ja die MAC adresse, aber dein pc nicht. Nach dem Ping kennt dein PC jedoch schon die Macadresse. Da sieht ,man, dass er vor dem Ping die …101 nicht kennt, aber dann schon

gruß garfi