2017-06-07 4 views
0

Ich arbeite an einem Projekt, das meiner Hausautomation die Identifikation von zu Hause ermöglicht, indem sie ihre MAC-Adressen als Kennung verwenden.Client-MAC-Adresse mit Knoten erhalten js

Ich habe versucht, die MAC-Adresse eines Client auf meinem eigenen Netzwerk mit NodeJS und das NPM-Modul ‚arped‘

var arped = require('arped'); 

console.log(arped.table()); 

Es liest die ARP-Tabellen zu erhalten, obwohl es nur eine Handvoll von IPs Ausgängen/MACs. Gibt es etwas, das mir an ARPs fehlt oder was?

Die Ausgabe zeigt meinen Router, meinen Chromecast, meinen Windows Laptop und mein iPhone 4. Es zeigt keinen anderen Windows Laptop und ein iPhone SE.

Antwort

0

Was tun Sie, wenn Linie folgende von Befehl ausführen:

arp -h 

Haben Sie alle MACs oder gleiche Liste, die Sie von node.js bekommen bekommen? Die, die Sie nicht sehen, befinden sich möglicherweise in einem anderen Subnetz und Sie erhalten keine MAC-Adresse für sie.

+0

'arp -h' funktioniert nicht, aber' arp -a' tut und es zeigt die gleichen IP's, die ich durch den anderen Weg bekomme. Ich bin übrigens auf Ubuntu. Seltsamerweise sind sie alle im selben Subnetz. – Paul

+0

Sie haben Recht, ich habe die Option vertippt. Sie könnten eine Trennung auf der Verbindungsschicht erhalten. Vielleicht sind einige von ihnen auf WiFi und einige von ihnen sind per Kabel verbunden? –

+0

Beachten Sie auch, dass die arp-Tabelle nur Adressen von Geräten enthält, mit denen Sie kommuniziert haben. Versuchen Sie, auf das Gerät zu pingen, das Sie nicht sehen, und prüfen Sie dann die arp-Tabelle. Es ist nur ein Cache physischer Adressen, so dass Ihr Computer nicht immer wieder danach fragen muss. Es geht so: Sie versuchen, mit Remote-Computer zu kommunizieren, verwenden Sie IP-Adresse, dann sendet Ihre Netzwerkschicht es an Link-Ebene, die IP-Adresse in MAC-Adresse übersetzen muss. Es tut es, indem es Broadcast-Nachricht im Netzwerk sendet und die Antwort verwendet, die es erhält. Um die Anzahl der Übertragungen zu reduzieren, speichern Computer solche Antworten zwischen. In der ARP-Tabelle. –