Hardware Info aus dem /Proc/ ?

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.061
Kann man irgendwie die Hardware infos aus dem PROC-Verzeichnis rausfiltern.
Ich suche nach eine schnittstelle in linux die mir verrät welche Netzwerkkarte ich im PC habe. Hab schon alles durchgesucht in PROC, DEV und sonstiges. Das einzig nützliches was ich fand war "dmesg". DMESG ist aber keine Datei sondern ein MAKRO oder? Ich brauche aber eine Lesbare Datei die ich einlesen kann, i, C-code.
Kennt vielleicht jemand eine Lösung zu dem Problem!?
 
Vielleicht kannst du mit lspci und/oder lsusb etwas anfangen. Perfekt ist das in deinem Fall wohl nicht geeignet, aber eventuell hilft es ja.
 
Also im Proc selbst gibts keine Dateien die mir die Hardware des Systems zeigen?
hmm ja würde ja fatal enden wenn die Hacker die Liste der HWs hätte und dazu die entspechende lücken in Treibern.

hmm kann man eventuell über ein C-Code ohne Adminrechte die Hardware auslesen? gibts da eventuell eine Lösung dazu?
 
ganz einfach:

Mit "cat" kann man die files aus dem /proc verzeichnis auslesen:
Mach mal ein ls /proc oder ls -l /proc

Und dann beispielsweise cat /proc/cpuinfo | less
Oder als Datei welche man erstellen kann cat /proc/cpuinfo >> /path_.../filename.txt

dmesg >> /path_../filename.txt

"dmesg" sollte auch ohne rootrechte laufen und wie beschrieben leite die Daten in eine x-beliebige Datei um.

Dmesg sollte reichen, um einen Überblick seiner Hardware (auch bei Neueinbau und extra Anschluss von Hardware) zu erzielen.
Die Datei nach der Umleitung kann von Python, C, C++, Tcl weiter eingelesen werden und verarbeitet werden.
 
Zuletzt bearbeitet:
Code:
/usr/sbin/lspci | grep -m1 'Ethernet controller'
Sollte das an fehlenden Rechten scheitern (kann in manchen Distributionen durchaus passieren), dann in /etc/sudoers die Zeile
Code:
Username ALL=(ALL) NOPASSWD: /usr/sbin/lspci
einfügen, das Wort Username natürlich durch Deinen ersetzen.
Und dann halt das Ganze mit
Code:
sudo /usr/sbin/lspci | grep -m1 'Ethernet controller'
aufrufen.
Mittels sed läßt sich die Ausgabe natürlich noch begrenzen.
In /proc findest Du nur Angaben zum Device ethx. Aber nichts, welche Hardware dahinter steckt. Dann schon eher in /sys. Aber viele Verzeichnisse in /sys sind recht cryptisch, auf einige bekommst Du selbst als root keinen Zugriff, nicht mal lesenden.
 
Zuletzt bearbeitet:
Kommandofrosch schrieb:
ganz einfach:

Mit "cat" kann man die files aus dem /proc verzeichnis auslesen:
Mach mal ein ls /proc oder ls -l /proc

Und dann beispielsweise cat /proc/cpuinfo | less
Oder als Datei welche man erstellen kann cat /proc/cpuinfo >> /path_.../filename.txt

dmesg >> /path_../filename.txt

"dmesg" sollte auch ohne rootrechte laufen und wie beschrieben leite die Daten in eine x-beliebige Datei um.

Dmesg sollte reichen, um einen Überblick seiner Hardware (auch bei Neueinbau und extra Anschluss von Hardware) zu erzielen.
Die Datei nach der Umleitung kann von Python, C, C++, Tcl weiter eingelesen werden und verarbeitet werden.

der ablauf sollte ja automatisch ablaufen. wie kann ich den dmesg über c in der console "eintippen" lassen. mir geht es jetzt um die netzwerkschnittstelle... cpu info und meminfo ist kein problem

aber danke für den tipp!
 
Dann nimm doch einfach die /var/log/dmesg
 
Zurück
Oben