MAC, ethernet-id mit python
Wie bekommt man richtige MAC - /Ethernet-id des lokalen Netzwerk-Karte mit python?
Die meisten Artikel über Google/stackoverflow schlägt vor, zu analysieren, das Ergebnis von ipconfig /all (windows) und ifconfig (Linux).
Auf windows (2x/xp/7) 'ipconfig /all' funktioniert gut, aber ist das ein fail-safe-Methode?
Ich bin neu in linux und habe keine Ahnung, ob 'ifconfig' ist die standard-Methode, um MAC - /Ethernet-id.
Implementierung eines Lizenz-check-Methode in einer python-Anwendung, die basierend auf den lokalen MAC - /Ethernet-id.
Es ist ein besonderer Fall, wenn Sie eine VPN-oder Virtualisierungs-Anwendungen wie VirtualBox installiert. In diesem Fall erhalten Sie dann eine weitere MAC - /Ethernet-Ids. Dies ist nicht ein problem, wenn ich verwenden parsing-Methode, aber ich bin mir nicht sicher.
Cheers
Prashant
- "Ich habe zu implementieren, die eine Lizenz check-Methode in einer python-Anwendung, die basierend auf den lokalen MAC - /Ethernet-id" - Sie sind sich bewusst, dass die MAC-Adresse leicht gefälscht, und nicht sicher auf den meisten Systemen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist ein cross-Plattform-Funktion, die zurück die Antwort für Sie.
ifconfig
existieren auf fast allen linux-Systemen, obwohl Sie im Recht sind, dass diese Regel fragile Lösung. Willkommen zum schreiben von system-spezifischen code.. :-/ (Das passiert in jeder Sprache, btw, nicht nur für Python). Nur Abstrakt genug, diesen code (ich würde es machen viel mehr spezifisch, so dass Sie sofort darauf aufmerksam gemacht-Plattformen, die Sie nicht plan auf), und verwenden Sie es.Unter linux können Sie den Zugriff auf hardware-Informationen über sysfs.
Diese Weise vermeiden Sie die Komplikationen der Beschuss aus ifconfig, und analysieren Sie die Ausgabe.
sysfs
, das ist viel seltener alsifconfig
.Ich habe verwendet eine socket-basierte Lösung, die funktioniert gut auf linux, und ich glaube windows wäre auch in Ordnung
Original Source