Tools zur Überwachung von Linux-Hardware
Egal, ob Sie ein Heimanwender oder ein System-/Netzwerkadministrator an einem großen Standort sind, die Überwachung Ihres Linux-Systems hilft Ihnen in vielerlei Hinsicht – möglicherweise mehr, als Sie derzeit wissen.
Zum Beispiel haben Sie wichtige arbeitsbezogene Dokumente auf Ihrem Laptop und eines schönen Tages beschließt die Festplatte, an Ihnen zu sterben, ohne sich auch nur zu verabschieden. Da die meisten Benutzer keine Backups erstellen, müssen Sie Ihren Chef anrufen und ihm mitteilen, dass die neuesten Finanzberichte verschwunden sind. Nicht schön. Wenn Sie jedoch eine regelmäßig gestartete (beim Booten oder mit cron) Festplattenüberwachungs- und Berichtssoftware verwendet haben, wie z. B. smartd, wird sie Ihnen mitteilen, wann Ihr(e) Laufwerk(e) anfängt, müde zu werden. Unter uns gesagt, eine Festplatte kann ohne Vorwarnung pleite gehen, also sichern Sie Ihre Daten.
Dieses Tutorial befasst sich mit allem, was mit der Systemüberwachung zu tun hat, egal ob es sich um Netzwerk, Festplatte oder Temperatur handelt. Dieses Thema kann in der Regel genug Stoff für ein Buch bilden, aber wir werden versuchen, Ihnen nur die wichtigsten Informationen zu geben, um Ihnen den Einstieg zu erleichtern, oder, je nach Erfahrung, alle Informationen an einem Ort zu haben. Von Ihnen wird erwartet, dass Sie sich mit Ihrer Hardware auskennen und über grundlegende Systemadministratorkenntnisse verfügen, aber unabhängig davon, woher Sie kommen, werden Sie hier etwas Nützliches finden.
In diesem Tutorial lernen Sie:
- So überwachen Sie die Systemtemperatur
- So überwachen Sie die Festplatte und die Ein-/Ausgabe
- So verwenden Sie Netzwerküberwachungstools
- So überwachen Sie die CPU, den Arbeitsspeicher und die laufenden Prozesse des Systems
Tools zur Überwachung von Linux-Hardware
In den folgenden Abschnitten werden Tools für verschiedene Aufgaben vorgestellt, wie z. B. die Überwachung von Temperatur, Festplattenstatus, Netzwerk, Systemprozessen usw. Wir zeigen Ihnen die Befehle, um diese Tools auf Debian- und Ubuntu-basierten Systemen zu installieren. Für andere, die mitmachen, sollten Sie Ihren Paketmanager verwenden, um nach dem richtigen Paketnamen zu suchen, da sie manchmal leicht unterschiedliche Namen haben.
Temperaturüberwachung
Das beste Werkzeug für diese Aufgabe, wenn es um die Überwachung der Temperaturen Ihres Systems geht, ist ein Paket namens Sensoren. Bei einigen Distributionen ist die Software möglicherweise bereits vorinstalliert. Auf anderen Systemen müssen Sie es möglicherweise installieren. Unter Debian oder einem Derivat können Sie einfach Folgendes ausführen:
sudo apt install lm-sensors
Auf OpenSUSE-Systemen heißt das Paket einfach sensors, während Sie es auf Fedora unter dem Namen lm_sensors finden. Sie können die Suchfunktion Ihres Paketmanagers verwenden, um Sensoren zu finden, da die meisten Distributionen dies anbieten.
Solange Sie über relativ moderne Hardware verfügen, werden Sie wahrscheinlich über eine Temperaturüberwachungsfunktion verfügen. Wenn Sie eine Desktop-Distribution verwenden, ist die Unterstützung für die Hardwareüberwachung aktiviert.
Um mit der Überwachung der Temperaturen Ihres Systems zu beginnen, verwenden Sie den folgenden Befehl im Terminal.
sudo sensors-detect
Hier ist ein Ausschnitt aus der Ausgabe, die auf unserem Testsystem erstellt wurde:
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp: +32.0°C
Core0 Temp: +33.0°C
Core1 Temp: +29.0°C
Core1 Temp: +25.0°C
nouveau-pci-0200
Adapter: PCI adapter
temp1: +58.0°C (high = +100.0°C, crit = +120.0°C)
Ihr BIOS verfügt möglicherweise über eine Temperatur-Failsafe-Option (die meisten tun dies auch): Wenn die Temperatur einen bestimmten Schwellenwert erreicht, wird das System heruntergefahren, um Schäden an der Hardware zu vermeiden. Auf der anderen Seite, während auf einem normalen Desktop der Sensorbefehl nicht sehr nützlich erscheinen mag, könnte ein solches Tool auf Servercomputern, die vielleicht Hunderte von Kilometern entfernt sind, den größten Unterschied in der Welt machen.
Wenn Sie der Administrator solcher Systeme sind, empfehlen wir Ihnen, ein kurzes Skript zu schreiben, das Ihnen stündlich eine E-Mail sendet, z. B. mit Berichten und vielleicht Statistiken über die Systemtemperatur.
Festplatte und I/O
In diesem Teil beziehen wir uns zuerst auf die Überwachung des Hardwarestatus und gehen dann zum Abschnitt I/O, der sich mit der Erkennung von Engpässen, Lese-/Schreibvorgängen und dergleichen befasst. Beginnen wir damit, wie Sie Berichte zum Festplattenzustand von Ihren Festplatten abrufen können.
S.M.A.R.T.
S.M.A.R.T., die Abkürzung für Self Monitoring Analysis and Reporting Technology, ist eine Funktion moderner Festplatten, mit der der Administrator den Festplattenzustand effizient überwachen kann. Die zu installierende Anwendung heißt normalerweise smartmontools und bietet ein systemd-Skript für regelmäßiges Schreiben in syslog.
Es kann mit diesem Befehl installiert werden:
sudo apt install smartmontools
Sein Name ist smartd und Sie können es konfigurieren, indem Sie /etc/smartd.conf bearbeiten und konfigurieren, welche Festplatten überwacht werden sollen und wann sie überwacht werden sollen. Diese Suite von S.M.A.R.T.-Tools funktioniert unter Linux, den BSDs, Solaris, Darwin und sogar OS/2.
Distributionen bieten grafische Frontends für smartctl, die Hauptanwendung, die Sie verwenden sollten, wenn Sie sehen möchten, wie es Ihren Laufwerken geht, aber wir werden uns auf das Befehlszeilenprogramm konzentrieren. Man verwendet -a (alle Infos) /dev/sda als Argument, um z.B. einen detaillierten Bericht über den Status des ersten auf dem System installierten Laufwerks zu erhalten. Hier ist, was ich bekomme:
sudo smartctl -a /dev/sda
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Blue Serial ATA
Device Model: WDC WD5000AAKS-00WWPA0
Serial Number: WD-WCAYU6160626
LU WWN Device Id: 5 0014ee 158641699
Firmware Version: 01.03B01
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Wed Oct 19 19:01:08 2011 EEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
[snip]
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 138 138 021 Pre-fail Always - 4083
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 369
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 095 095 000 Old_age Always - 4186
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 366
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 21
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 347
194 Temperature_Celsius 0x0022 105 098 000 Old_age Always - 38
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
Was wir aus dieser Ausgabe herausholen können, ist im Grunde, dass keine Fehler gemeldet werden und dass alle Werte innerhalb der normalen Margen liegen. Wenn Sie einen Laptop haben und ungewöhnlich hohe Werte sehen, sollten Sie in Erwägung ziehen, das Innere Ihres Geräts zu reinigen, um einen besseren Luftstrom zu erzielen.
Die Platten können sich durch übermäßige Hitze verformen und das möchten Sie sicherlich nicht. Wenn Sie einen Desktop-Computer verwenden, können Sie einen Festplattenkühler zu einem günstigen Preis bekommen. Wie auch immer, wenn Ihr BIOS über diese Funktion verfügt, werden Sie beim POSTing gewarnt, wenn das Laufwerk kurz vor dem Ausfall steht.
smartctl bietet eine Reihe von Tests, die Sie durchführen können: Sie können mit dem Flag -t auswählen, welchen Test Sie ausführen möchten:
sudo smartctl -t long /dev/sda
Abhängig von der Größe der Festplatte und dem von Ihnen gewählten Test kann dieser Vorgang einige Zeit in Anspruch nehmen. Einige Leute empfehlen, Tests durchzuführen, wenn das System keine signifikante Festplattenaktivität aufweist, andere empfehlen sogar die Verwendung einer Live-CD. Natürlich sind dies Ratschläge des gesunden Menschenverstands, aber am Ende hängt alles von der Situation ab. Bitte lesen Sie die Handbuchseite von smartctl für weitere nützliche Befehlszeilen-Flags.
E/A
Wenn Sie mit Computern arbeiten, die viele Lese-/Schreibvorgänge ausführen, wie z. B. ein stark ausgelasteter Datenbankserver, müssen Sie die Festplattenaktivität überprüfen. Oder Sie möchten die Leistung Ihrer Festplatte testen, unabhängig vom Zweck des Computers. Für die erste Aufgabe werden wir iostat verwenden, für die zweite werfen wir einen Blick auf bonnie++. Dies sind nur zwei der Anwendungen, die man verwenden kann, aber sie sind beliebt und machen ihre Arbeit recht gut, so dass ich keine Notwendigkeit hatte, mich woanders umzusehen.
Wenn Sie iostat nicht auf Ihrem System finden, hat Ihre Distribution es möglicherweise im sysstat-Paket enthalten, das viele Tools für den Linux-Administrator bietet, und wir werden etwas später darüber sprechen.
Installieren Sie es mit dem folgenden Befehl:
sudo apt install sysstat
Sie können iostat ohne Argumente ausführen, was Ihnen etwa so etwas gibt:
Linux 5.13.0-27-generic (linuxconfig) 02/02/2022 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
17.10 2.22 8.89 1.67 0.00 70.11
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 42.29 1120.77 528.22 0.00 1115925 525937 0
Wenn Sie möchten, dass iostat kontinuierlich läuft, verwenden Sie einfach -d (delay) und eine ganze Zahl:
iostat -d 1 10
Dieser Befehl führt iostat 10 Mal in einem Intervall von einer Sekunde aus. Lesen Sie die Handbuchseite für den Rest der Optionen. Es wird sich lohnen, Sie werden sehen. Nachdem Sie sich die verfügbaren Flags angesehen haben, könnte ein gängiger iostat-Befehl wie folgt aussehen:
iostat -d 1 -x -h
Dabei steht -x für eXtended statistics und -h für menschenlesbare Ausgabe.
bonnie++
Der Name Bonnie++ (der inkrementierte Teil) stammt von seinem Erbe, dem klassischen Bonnie-Benchmarking-Programm. Es unterstützt viele Festplatten- und Dateisystemtests, die den Rechner durch das Schreiben/Lesen vieler Dateien belasten. Es ist auf den meisten Linux-Distributionen genau unter diesem Namen zu finden: bonnie++. Hier erfahren Sie, wie Sie es installieren.
sudo apt install bonnie++
Sie können den Befehl einfach ohne zusätzliche Optionen ausführen:
bonnie++
Hier ist die Ausgabe, die wir von bonnie auf unserem Testgerät erhalten haben.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.98 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Name:Size etc /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
linuxconfig 4G 122k 96 69.5m 24 125m 55 446k 89 262m 48 3895 204
Latency 179ms 726ms 42985us 65391us 44430us 14077us
Version 1.98 ------Sequential Create------ --------Random Create--------
linuxconfig -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 0 39 +++++ +++ 724249376 35 0 37 +++++ +++ 724249376 38
Latency 44098us 13586us 12148us 16141us 12212us 12207us
1.98,1.98,linuxconfig,1,1643851174,4G,,8192,5,122,96,71185,24,128266,55,446,89,268335,48,3895,204,16,,,,,7366,39,+++++,+++,11979,35,7939,37,+++++,+++,13108,38,179ms,726ms,42985us,65391us,44430us,14077us,44098us,13586us,12148us,16141us,12212us,12207us
Bitte beachten Sie, dass das Ausführen von bonnie++ Ihren Rechner belastet, daher ist es eine gute Idee, dies zu tun, wenn das System nicht so ausgelastet ist wie sonst. Sie können das Ausgabeformat (CSV, Text, HTML), das Zielverzeichnis oder die Dateigröße auswählen.
Lesen Sie auch hier das Handbuch, denn diese Programme hängen von der zugrundeliegenden Hardware und deren Verwendung ab. Nur du weißt am besten, was du von bonnie++ bekommen willst.
Netzwerk-Überwachung
Bevor wir beginnen, sollten Sie wissen, dass wir uns nicht mit der Netzwerküberwachung unter dem Gesichtspunkt der Sicherheit befassen werden, sondern aus Sicht der Leistung und Fehlerbehebung, obwohl die Tools manchmal die gleichen sind (Wireshark, iptraf usw.). Wenn Sie eine Datei mit 10 KBit/s vom NFS-Server im anderen Gebäude erhalten, sollten Sie darüber nachdenken, Ihr Netzwerk auf Engpässe zu überprüfen.
Dies ist ein großes Thema, da es von einer Vielzahl von Faktoren abhängt, wie Hardware, Kabel, Topologie und so weiter. Wir werden die Angelegenheit auf eine einheitliche Art und Weise angehen, was bedeutet, dass Ihnen gezeigt wird, wie Sie die Tools installieren und verwenden, anstatt sie zu klassifizieren und Sie alle mit unnötiger Theorie zu verwirren. Wir werden nicht jedes Tool einbeziehen, das jemals für die Überwachung von Linux-Netzwerken geschrieben wurde, sondern nur das, was als wichtig erachtet wird.
Bevor wir über komplexe Tools sprechen, beginnen wir mit den einfachen. Hier bezieht sich der Problemteil bei der Fehlerbehebung auf Probleme mit der Netzwerkverbindung. Andere Tools beziehen sich, wie Sie sehen werden, auf Tools zur Angriffsprävention. Auch hier ist nur das Thema Netzwerksicherheit viele Male aufgetaucht, so dass dies so kurz wie möglich sein wird.
Diese einfachen Tools sind ping, traceroute, ip und Freunde. Sie sind normalerweise Teil des Pakets inetutils oder net-tools (kann je nach Distribution variieren) und sind sehr wahrscheinlich bereits auf Ihrem System installiert.
Auch dnsutils ist ein Paket, das es wert ist, installiert zu werden, da es beliebte Anwendungen wie dig oder nslookup enthält. Wenn Sie noch nicht wissen, was diese Befehle tun, empfehlen wir Ihnen, etwas zu lesen, da sie für jeden Linux-Benutzer unerlässlich sind, unabhängig vom Zweck der Computer, die er verwendet.
tcpdump
Kein solches Kapitel in einem Leitfaden zur Fehlerbehebung/Überwachung von Netzwerken wird jemals vollständig sein, ohne einen Teil über tcpdump. Es ist ein ziemlich komplexes und nützliches Netzwerküberwachungstool, egal ob Sie sich in einem kleinen LAN oder in einem großen Unternehmensnetzwerk befinden.
Was tcpdump im Grunde macht, ist Paketüberwachung, auch bekannt als Paket-Sniffing. Sie benötigen Root-Rechte, um es auszuführen, da tcpdump die physische Schnittstelle benötigt, um im Promiscuous-Modus zu laufen, der nicht der Standard-Betriebsmodus einer Ethernet-Karte ist. Der Promiscuous-Modus bedeutet, dass die Netzwerkkarte den gesamten Datenverkehr im Netzwerk und nicht nur den für sie vorgesehenen Datenverkehr abruft.
Falls es noch nicht installiert ist, können Sie den folgenden Befehl im Terminal verwenden.
sudo apt install tcpdump
Wir werden nicht versuchen, die gut geschriebene Handbuchseite von tcpdump zu ersetzen, das überlassen wir Ihnen. Bevor wir jedoch fortfahren, empfehlen wir Ihnen, einige grundlegende Netzwerkkonzepte zu erlernen, um tcpdump zu verstehen, wie TCP/UDP, Nutzlast, Paket, Header und so weiter.
Ein cooles Feature von tcpdump ist die Möglichkeit, Webseiten praktisch zu erfassen, indem -A verwendet wird. Versuchen Sie, tcpdump wie folgt zu starten:
sudo tcpdump -vv -A
Gehen Sie nun zu einer Webseite. Kehren Sie dann zum Terminalfenster zurück, in dem tcpdump ausgeführt wird. Sie werden viele interessante Dinge über diese Website sehen, z. B. welches Betriebssystem auf dem Webserver ausgeführt wird oder welche PHP-Version zum Erstellen der Seite verwendet wurde.
Verwenden Sie -i, um die Schnittstelle anzugeben, auf der gelauscht werden soll (wie eth0, eth1 usw.), oder -p, um die Netzwerkkarte nicht im Promiscuous-Modus zu verwenden, was in einigen Situationen nützlich ist. Sie können die Ausgabe in einer Datei mit dem $file -w speichern, wenn Sie sie später überprüfen müssen (denken Sie daran, dass die Datei eine Rohausgabe enthält). Ein Beispiel für die Verwendung von tcpdump, basierend auf dem, was Sie oben gelesen haben, wäre:
sudo tcpdump -vv -A -i eth0 -w outputfile
Wir müssen Sie daran erinnern, dass dieses Tool und andere, wie nmap, snort oder wireshark, zwar nützlich sein können, um Ihr Netzwerk auf betrügerische Anwendungen und Benutzer zu überwachen, aber auch für betrügerische Benutzer nützlich sein können. Bitte verwenden Sie solche Tools nicht für böswillige Zwecke.
Wenn Sie eine coolere Schnittstelle zu einem Sniffing-/Analyseprogramm benötigen, können Sie iptraf (CLI) oder wireshark (GTK) ausprobieren. Wir werden sie nicht ausführlicher besprechen, da die Funktionalität, die sie bieten, der von tcpdump ähnelt. Wir empfehlen jedoch tcpdump, da es fast sicher ist, dass Sie es unabhängig von der Distribution installiert finden werden, und es Ihnen die Möglichkeit gibt, es zu lernen.
netstat
netstat ist ein weiteres nützliches Tool für Remote- und lokale Live-Verbindungen, das seine Ausgabe in einer besser organisierten, tabellenähnlichen Weise druckt. Der Name des Pakets lautet in der Regel einfach net-tools und die meisten Distributionen bieten ihn an.
So installieren Sie die Software:
sudo apt install net-tools
Wenn Sie netstat ohne Argumente starten, wird es eine Liste der offenen Sockets ausgeben und dann beenden. Da es sich jedoch um ein vielseitiges Tool handelt, können Sie je nach Bedarf steuern, was Sie sehen möchten. Zunächst einmal wird Ihnen -c helfen, wenn Sie eine kontinuierliche Ausgabe benötigen, ähnlich wie tcpdump.
Von hier an kann jeder Aspekt des Linux-Netzwerksubsystems in die Ausgabe von netstat aufgenommen werden: Routen mit -r, Schnittstellen mit -i, Protokolle (–protocol=$family für bestimmte Auswahlmöglichkeiten, wie unix, inet, ipx...), -l, wenn Sie nur Listening-Sockets wünschen, oder -e für erweiterte Informationen.
Die angezeigten Standardspalten sind aktive Verbindungen, Empfangswarteschlange, Sendewarteschlange, lokale und fremde Adressen, Status, Benutzer, PID/Name, Socket-Typ, Socket-Status oder Pfad. Dies sind nur die interessantesten Informationen, die netstat anzeigt, aber nicht die einzigen. Beziehen Sie sich wie üblich auf die Handbuchseite.
nmap
Das letzte Dienstprogramm, über das wir im Netzwerkabschnitt sprechen werden, ist nmap. Sein Name stammt von Network Mapper und ist nützlich als Netzwerk-/Port-Scanner, der für Netzwerk-Audits von unschätzbarem Wert ist. Es kann sowohl auf Remote-Hosts als auch auf lokalen Hosts verwendet werden. Wenn Sie sehen möchten, welche Hosts in einem Netzwerk der Klasse C aktiv sind, geben Sie einfach Folgendes ein:
nmap 192.168.0/24
nmap gibt eine Ausgabe wie diese zurück:
Nmap scan report for 192.168.0.1
Host is up (0.0065s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
Nmap scan report for 192.168.0.102
Host is up (0.00046s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap scan report for 192.168.0.103
Host is up (0.00049s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Was wir aus diesem kurzen Beispiel lernen können: nmap unterstützt CIDR-Notationen zum Scannen ganzer (Sub-)Netzwerke, es ist schnell und zeigt standardmäßig die IP-Adresse und alle offenen Ports jedes Hosts an. Wenn wir nur einen Teil des Netzwerks hätten scannen wollen, z. B. IPs von 20 bis 30, hätten wir geschrieben:
nmap 192.168.0.20-30
Dies ist die einfachste mögliche Verwendung von nmap. Es kann Hosts auf Betriebssystemversion, Skript und Traceroute (mit -A) scannen oder verschiedene Scan-Techniken wie UDP, TCP SYN oder ACK verwenden. Es kann auch versuchen, Firewalls oder IDS zu passieren, MAC-Spoofing und alle möglichen netten Tricks durchzuführen.
Es gibt viele Dinge, die dieses Tool kann, und alle sind auf der Handbuchseite dokumentiert. Bitte denken Sie daran, dass einige (die meisten) Administratoren es nicht sehr mögen, wenn jemand ihr Netzwerk scannt, also bringen Sie sich nicht in Schwierigkeiten. Die nmap-Entwickler haben einen Host, scanme.nmap.org, mit dem einzigen Zweck eingerichtet, verschiedene Optionen zu testen. Versuchen wir auf ausführliche Weise herauszufinden, welches Betriebssystem ausgeführt wird (für erweiterte Optionen benötigen Sie root):
nmap -A -v scanme.nmap.org
Beispielausgabe:
NSE: Script Scanning completed.
Nmap scan report for scanme.nmap.org (74.207.244.221)
Host is up (0.21s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
|_html-title: Go ahead and ScanMe!
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
OS fingerprint not ideal because: Host distance (14 network hops) is greater than five
No OS matches for host
Uptime guess: 19.574 days (since Fri Sep 30 08:34:53 2011)
Network Distance: 14 hops
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux
[traceroute output supressed]
Wir empfehlen Ihnen, auch einen Blick auf netcat, snort oder aircrack-ng zu werfen. Wie gesagt, unsere Liste ist bei weitem nicht vollständig.
Weitere Hilfe finden Sie in unserem anderen Leitfaden zum Überwachen der Netzwerkaktivität auf einem Linux-System.
Überwachung der Anlage
Nehmen wir an, Sie sehen, dass Ihr System anfängt, eine intensive HDD-Aktivität zu haben, und Sie spielen nur Nethack darauf. Wahrscheinlich werden Sie sehen wollen, was passiert. Oder vielleicht haben Sie einen neuen Webserver installiert und möchten sehen, wie gut er abschneidet. Dieser Teil ist für Sie.
Genau wie im Netzwerkbereich gibt es viele Tools, grafisch oder CLI, die Ihnen helfen, über den Status der von Ihnen verwalteten Computer in Kontakt zu bleiben. Wir werden nicht über die grafischen Tools wie gnome-system-monitor sprechen, da X auf einem Server installiert ist, auf dem diese Tools häufig verwendet werden, nicht wirklich Sinn macht.
Das erste Dienstprogramm zur Systemüberwachung ist ein persönlicher Favorit und ein kleines Dienstprogramm, das von Systemadministratoren auf der ganzen Welt verwendet wird. Es heißt top und sollte standardmäßig installiert werden. Wenn nicht, führen Sie diesen Befehl aus:
sudo apt install procps
Sie können den Befehl ohne Optionen ausführen:
top
top ist ein Prozessbetrachter (es gibt auch htop, eine ansprechendere Variante) und wie Sie sehen können, gibt er Ihnen alle Informationen, die Sie benötigen, wenn Sie sehen möchten, was auf Ihrem System ausgeführt wird: Prozess, PID, Benutzer, Zustand, Zeit, CPU-Auslastung und so weiter.
Normalerweise beginne ich top mit -d 1, was bedeutet, dass es jede Sekunde ausgeführt und aktualisiert werden sollte (das Ausführen von top ohne Optionen setzt den Verzögerungswert auf drei). Sobald top gestartet ist, können Sie durch Drücken bestimmter Tasten die Daten auf verschiedene Weise sortieren: Durch Drücken von 1 wird die Auslastung aller CPUs angezeigt, vorausgesetzt, Sie verwenden eine SMP-Maschine und einen SMP-Kernel, P ordnet die aufgelisteten Prozesse nach CPU-Auslastung an, M nach Speicherauslastung und so weiter. Wenn Sie top eine bestimmte Anzahl von Malen ausführen möchten, verwenden Sie -n $number. Über die Manpage haben Sie natürlich Zugriff auf alle Optionen.
Um stattdessen htop zu installieren, verwenden Sie den folgenden Befehl:
sudo apt install htop
Um den Bildschirm einer der beiden Anwendungen zu verlassen, verwenden Sie die Q-Taste auf Ihrer Tastatur.
Während top Ihnen hilft, die Speicherauslastung des Systems zu überwachen, gibt es andere Anwendungen, die speziell für diesen Zweck geschrieben wurden. Zwei davon sind free und vmstat (virtual memory status). Normalerweise verwenden wir free nur mit dem Flag -m (Megabyte), und die Ausgabe sieht folgendermaßen aus:
total used free shared buffers cached
Mem: 2012 1913 98 0 9 679
-/+ buffers/cache: 1224 787
Swap: 2440 256 2184
Die vmstat-Ausgabe ist vollständiger, da sie Ihnen unter anderem auch E/A- und CPU-Statistiken anzeigt. Sowohl free als auch vmstat sind ebenfalls Teil des procps-Pakets, zumindest auf Debian- und Ubuntu-Systemen. Aber wenn es um die Prozessüberwachung geht, ist ps das am häufigsten verwendete Tool, das auch Teil des procps-Pakets ist.
Es kann mit pstree, einem Teil von psmisc, ergänzt werden, das alle Prozesse in einer baumartigen Struktur darstellt. Zu den am häufigsten verwendeten Flags von ps gehören -a (alle Prozesse mit tty), -x (komplementär zu -a, siehe die Handbuchseite für BSD-Stile), -u (benutzerorientiertes Format) und -f (forest-ähnliche Ausgabe). Hierbei handelt es sich nur um Formatmodifikatoren, nicht um Optionen im klassischen Sinne. Hier ist die Verwendung der Manpage obligatorisch, da ps ein Tool ist, das Sie häufig verwenden werden.
ps aux
Andere Systemüberwachungstools umfassen uptime (der Name ist irgendwie selbsterklärend), who (für eine Auflistung der angemeldeten Benutzer), lsof (liste offene Dateien) oder sar, Teil des sysstat-Pakets, für die Auflistung von Aktivitätszählern.
Weitere Hilfe finden Sie in einigen der anderen Leitfäden, die wir geschrieben haben:
- So überwachen Sie die RAM-Auslastung unter Linux
- So überprüfen und überwachen Sie die CPU-Auslastung unter Linux
- So verwenden Sie den PS-Befehl unter Linux: Leitfaden für Anfänger
Schlussfolgerung
Wie bereits erwähnt, ist die Liste der hier vorgestellten Dienstprogramme keineswegs vollständig. Unsere Absicht war es, einen Artikel zusammenzustellen, der die wichtigsten Überwachungstools für den täglichen Gebrauch erklärt. Dies wird das Lesen und Arbeiten mit realen Systemen für ein vollständiges Verständnis der Materie nicht ersetzen.

