10.7 Prüf- und Diagnoseprogramme für Netzwerke
Prüfen Sie Ihr Netzwerk regelmäßig. Finden Sie unerwünscht offene Ports heraus. Klären Sie Fehler mithilfe einer Datenanalyse.
10.7.1 Rechtliche Hinweise
Werkzeuge sind nicht »gut« oder »böse«. In den falschen Händen sind sie aber gefährlich. Seien Sie sich dessen bewusst, und installieren Sie sie nicht in Standardverzeichnisse (sondern außerhalb der Path-Variable liegend). Setzen Sie diese Werkzeuge nur zum Überprüfen der eigenen Systeme ein. Lassen Sie sich von Kunden am besten einen schriftlichen Auftrag geben, wenn Sie deren Systeme damit prüfen sollen.
10.7.2 Verbindungen mit »netstat« anzeigen
Mit netstat ermitteln Sie TCP-Sockets, Verbindungen und Routen am eigenen Rechner. Sie erkennen eventuell aktive Schadsoftware, die über das Netzwerk kommuniziert. Sie können sich die Gegenstellen, Prozess-IDs und Benutzer zu den Verbindungen anzeigen lassen. Eine Auflistung aller aktiven Netzwerkschnittstellen mit einer Nutzungsstatistik hilft Ihnen, Fehlfunktionen im Netzwerk zu finden. Das Programm kann von Ihnen auch mit laufend aktualisierender Anzeige aufgerufen werden. Ich zeige Ihnen einige Beispiele für Ihre Praxis (Tabelle 10.10).
Aktion |
Eingabe |
Beispiel |
---|---|---|
Auflistung von Routen |
netstat -r |
1 |
Auflistung der Netzwerkschnittstellen |
netstat -i |
2 |
Auflistung aller TCP/UDP-Ports |
netstat -lptun |
3 |
Anzeigen statistischer Angaben |
netstat -s |
4 |
Anzeigen offener Ports |
netstat -atup |
5 |
Tabelle 10.10 Abfragen mit »netstat«
-
Beispiel 1: Sie fragen mit der Option -r die Routing-Einträge ab. Genauere Informationen finden Sie in Abschnitt 4.7.3, »Routing-Tabelle abfragen (›netstat‹)«. Dort finden Sie die Ausführungen zur Ausgabe der Routen.
-
Beispiel 2: Bei der Auflistung der Netzwerkschnittstellen zeigt netstat Ihnen die gesetzten Werte für MTU und Metric an. Sie erhalten die Zahlen erfolgreich gesendeter und empfangener Pakete sowie die von fehlerhaften Vorgängen.
-
Beispiel 3: Mit dieser kombinierten Anweisung erhalten Sie umfangreiche Informationen über offene TCP- und UDP-Ports:
-l: empfangsbereite Serversockets
-p: Die Prozess-IDs und die Namen von Programmen werden angezeigt.
-t: TCP-Verbindungen
-u: UDP-Verbindungen
-n: Anstelle von Host-Namen erhalten Sie IP-Adressen angezeigt.
-
Beispiel 4: Sie erhalten umfangreiche statistische Angaben zum Netzwerkgeschehen auf Ihrem Rechner. Sie erkennen eventuelle Probleme bei der Netzlast.
-
Beispiel 5: Mit -a fordern Sie alle Ports an, nicht nur jene mit einer Verbindung (die restlichen Optionen finden Sie bei Beispiel 3). Diese Liste hilft Ihnen, nicht benötigte Netzwerkanwendungen oder auch Schadsoftware zu entdecken und zu entfernen. Die Ausgabe dieses Befehls finden Sie in Abbildung 10.58.
Abbildung 10.58 Liste offener Ports
Weitere Ausführungen zu netstat finden Sie in Abschnitt 6.4.3, »Ports und Sicherheit«.
10.7.3 Hosts und Ports mit »nmap« finden
Mittels nmap gewinnen Sie viele Informationen über Ihr Netzwerk und die daran angeschlossenen Hosts. Sie erfahren, welche Hosts in Ihrem Netzwerk aktiv sind und welche Ports an diesen offen sind. Lesen Sie unbedingt die umfangreiche Manual-Seite dieses Programms.
Ich greife hier nur wenige Anwendungsszenarien heraus. Eines davon zeigt, wie Sie sich eine Übersicht über im LAN aktive Geräte verschaffen. Sie bekommen neben der IP- auch die MAC-Adresse. Damit können Sie unter Umständen schon ungebetene Gäste erkennen.
Das Netzwerk geben Sie in der CIDR-Notation an. Die sonst recht unübersichtliche, weil umfangreiche Ausgabe filtern Sie mit egrep. Damit lassen Sie sich die übereinstimmenden und die jeweils darauf folgenden Zeilen anzeigen. Sie finden im ersten Beispiel folgende Optionen von nmap:
-
-v: ausführliche Ausgabe
-
-n: verzicht auf die Namensauflösung, zeigt nur die IP-Adresse an
-
-sP: Ping-Scan
In Abbildung 10.59 sehen Sie eine kleine Bestandsaufnahme eines lokalen Netzes.
Abbildung 10.59 »nmap«: Inventur eines lokalen Netzwerks
Wenn Sie nur das Vorhandensein bestimmter Hosts kontrollieren wollen, verwenden Sie eine Liste. Diese Liste besteht aus IP-Adressen oder Rechnernamen und befindet sich in einer Textdatei. Im folgenden Beispiel werden IPv6-Hosts kontrolliert. Die neu verwendeten Optionen im folgenden Beispiel sind:
-
-6: Bei den Angaben handelt es sich um IPv6-Adressen.
-
-iL <DATEI>: liest aus Datei <DATEI>
Die Ausgabe dieses abgewandelten Inventur-Scans sehen Sie in Abbildung 10.60.
Abbildung 10.60 »nmap«: Ping-Scan auf eine IPv6-Adressen aus einer Liste
Zur Überprüfung eines einzelnen Hosts wählen Sie aus diesen Optionen:
-
-p<PORT-Anfang>-<PORT-Ende>: Festlegung des Port-Bereichs
-
-O: Ermittlung des Betriebssystems
-
-A: zusätzlich zur Ermittlung des Betriebssystems Ermittlung der Traceroute
Ohne weitere Angabe außer der des Rechnernamens oder der IP-Adresse erhalten Sie eine »kurze« Auskunft (Abbildung 10.61). In dieser Abbildung sehen Sie auch den erweiterten Scan (-A). In Abbildung 10.62 sehen Sie die Suche mit erweitertem Port-Bereich (‐p). Wenn Sie die Option -A benutzen, versucht nmap, auch die erreichbaren Angaben zum Port darzustellen. Im Beispiel sehen Sie die Angaben zum HTTP- und SSH-Server.
Weitere Ausführungen zu nmap finden Sie auch in Abschnitt 6.8.2, »Durchführen von Portscans zum Austesten von Sicherheitsproblemen«.
In Abschnitt 6.8.3, »Schließen von Ports«, finden Sie Hinweise zum Schließen von offenen und nicht benötigten Ports.
Abbildung 10.61 »nmap«: ohne und mit erweiterter Ausgabe
Abbildung 10.62 »nmap«: erweiterte Ausgabe mit vorgegebenem Port-Bereich
10.7.4 MAC-Adressen-Inventur: netdiscover
Mit diesem Programm listen Sie auf, welche Geräte sich in einem Netzwerk befinden. Teilweise kann das Programm anhand der gefundenen MAC-Adresse den Hersteller des Netzwerkchips ermitteln. Die Anwendung kann in einem Passiv-Modus arbeiten. Hierbei bleibt das Programm unauffällig und liest die ARP-Anforderungen und -Antworten aus dem Netz aus. Im Aktiv-Modus hingegen versendet das Programm selbst ARP-Pakete und kommt damit schneller zu einem Ergebnis. Dieses Programm startet in einem interaktiven Modus und kann darin per Tastendruck bedient werden. Rufen Sie es mit der Option -P auf, läuft es hingegen in einem Rutsch durch. Damit können Sie innerhalb eines Shellskriptes eine Ausgabedatei erzeugen und weiter automatisch auswerten.
Beim Programmstart können Sie diese Optionen anwenden:
-
Angabe der Netzwerkschnittstelle: -i <Gerät>
-
Einschränkung des IP-Adressbereiches: -r <Netzwerkadresse/CIDR>
-
Beschränkung der Zahl der ARP-Anfragen: -c <Zahl>
-
Einschalten des Passiv-Modus: -p
Mit diesen Tasten steuern Sie das Programm:
-
Programmende: (q)
-
Hilfe: (h)
-
nur ARP-Anforderungen anzeigen: (r)
-
nur ARP-Antworten anzeigen: (a)
-
alle ARP-Pakete anzeigen: (u)
In Abbildung 10.63 sehen Sie das Programm im Einsatz. Es wurde mit
netdiscover -i eth0 -r 192.168.0.0/24
gestartet.
Abbildung 10.63 Interaktive Ausgabe von netdiscover
10.7.5 Datenverkehr protokollieren (Wireshark, tcpdump)
Mit Wireshark können Sie per Mausklick den Datenverkehr protokollieren und analysieren. Beim Programmstart legen Sie die Netzwerkschnittstelle fest, auf der das Programm lauscht. Wireshark ermöglicht auch den Zugriff auf alle vorhandenen Netzwerkkarten und den localhost.
Die Benutzeroberfläche (Abbildung 10.64) gliedert sich in vier Teile. Oben finden Sie die Programmleiste. Die protokollierten Daten werden in drei Ebenen dargestellt. Die untersuchten Pakete laufen zeilenweise, verschiedenfarbig gekennzeichnet, in der oberen Ebene durch. Sie können per Mausklick eine dieser Zeilen markieren. Im mittleren Feld klicken Sie links auf einen der Protokollpfeile. Die Daten werden im Klartext dargestellt. Das untere Feld gibt die Daten hexadezimal aus.
Abbildung 10.64 Wireshark
Sie können Scanläufe speichern und später auswerten. Damit können Sie erkennen, ob schon Programme im Netzwerk aktiv sind, und gegebenenfalls Gegenmaßnahmen ergreifen.
Mit tcpdump nehmen Sie die gleichen Tests wie mit Wireshark vor. Die Log-Dateien von tcpdump können Sie bequem per Mausklick mit Wireshark auswerten. Ich zeige Ihnen in Tabelle 10.11 einige wichtige Optionen.
Aktion |
Option |
---|---|
Auflisten von Netzwerkgeräten (Abbildung 10.65) |
-D |
Festlegen des Netzwerkgeräts |
-i <GERÄT> |
Nur IP-Adressen anzeigen |
-n |
Mitschneiden von Ethernet-Headern |
-e |
Ausgabe eines Paketinhalts im ASCII-Format |
-A |
Angabe des Informationsgrads |
-v -vv, -vvv |
Port festlegen |
port <PORT> |
Port-Bereich festlegen |
portrange <von-bis> |
Log-Datei, in die tcpdump schreibt |
-w <DATEI> |
Tabelle 10.11 Wichtige Optionen von »tcpdump«
Abbildung 10.65 »tcpdump«: Auflistung der Netzwerkgeräte
Das Beispiel in Abbildung 10.66 zeigt Ihnen die Abfrage eines Browsers beim HTTP-Server. Damit können Sie eventuelle Angriffe entdecken.
Die von tcpdump erzeugten Daten können Sie im Shell-Skript oder auch später mit Wireshark auswerten. Das nächste Beispiel zeigt die Kommunikation zwischen einem Browser und dem HTTP-Server. Die Abfrage wird dabei auf den Port 80 begrenzt. Das Mitschnittprotokoll wird in einer Datei abgelegt. Das vollständige Kommando lautet:
tcpdump -n -vvv -A -i eth0 port 80 and dst 192.168.0.67 or dst 192.168.0.34
-w ausgabe.dmp
Sie können die Ausgabedatei von tcpdump formatiert ausgeben lassen. Dazu geben Sie einfach tcpdump -r <DATEI> ein.
Abbildung 10.66 »tcpdump«: Protokollierung von Webbrowser-Anfragen
Lesen Sie weitere Informationen in der Manual-Seite von tcpdump.
10.7.6 Netzaktivitäten mit »darkstat« messen
Sie erhalten mit darkstat relativ schnell einen guten Überblick über die Auslastung Ihres Netzes. Das Programm selbst starten Sie in der Shell; die Anzeige erhalten Sie per Webbrowser. Um sämtlichen Verkehr Ihrer Rechner zu erfassen, starten Sie das Programm nur mit diesen Angaben:
darkstat -i eth0 -p 8080
Mit der Option -i geben Sie die Netzwerkschnittstelle an, mit -p den Port, auf den Sie mittels Browser zugreifen. Wenn Sie eine Netzwerkadresse angeben möchten, verwenden Sie -l. Das Netzwerk geben Sie zusammen mit der ausgeschriebenen Subnetzmaske an. Möchten Sie nur ein bestimmtes Netz sehen, geben Sie z. B.
darkstat -i eth0 -l 192.168.0.0/255.255.255.0 -p 8080
ein.
In der Webanzeige erhalten Sie einen Graphen (Abbildung 10.67) und eine Liste der Hosts (Abbildung 10.68).
Abbildung 10.67 »darkstat«: Aktivitätsanzeige
Abbildung 10.68 »darkstat«: Liste der Hosts
10.7.7 Netzlast mit »fping« erzeugen
Wenn Sie z. B. mit darkstat eine Netzübersicht erzeugen wollen, müssen Sie so lange warten, bis jeder der angeschlossenen Hosts im selben Netz einmal aktiv war. Ohne Aktivität werden diese Geräte sonst nicht erfasst und tauchen damit nicht in der Host-Übersicht auf. Mit fping haben Sie das Werkzeug dafür. Sie können damit bei jedem Gerät »anklopfen«, sodass die gewünschte Aktivität entsteht. Der Aufruf hierfür lautet
fping -r 0 -aA -g 192.168.0.0/24
für das Netz 192.168.0.0. Anstelle der Subnetzmaske müssen Sie hier die CIDR-Schreibweise anwenden. Die einzelnen Optionen von fping bedeuten:
-
-r 0: Anzahl der Wiederholungen je Host. Im Beispiel versucht es fping einmal (ohne Wiederholungen).
-
-a: nur Hosts anzeigen, die geantwortet haben
-
-u: nur Hosts anzeigen, die unerreichbar sind
-
-A: keine Namensauflösung, nur IP-Adressen werden angezeigt.
-
-e: Anzeige der Round-Trip-Zeit
-
-s: bildet am Schluss eine zusammenfassende Statistik
-
-g <NETZADRESSE/CIDR>: Angabe des zu prüfenden Netzes
10.7.8 Weitere Einsatzmöglichkeiten von »fping«
Mit fping können Sie ohne großen Aufwand weitere Aufgaben erledigen. Das Programm dient als Datenquelle in Shell-Skripten. Es ermittelt Hosts, die entweder erreichbar oder nicht erreichbar sind. Ich zeige Ihnen hier ein Shell-Skript und einige Skriptfragmente als Anregung für Ihre tägliche Arbeit.
Das Shell-Skript (Listing 10.1) zeigt Ihnen alle erreichbaren Hosts innerhalb des angegebenen Netzwerks an. Im Ergebnis stehen auch die Zeitangaben. Am Schluss der Ausgabe finden Sie eine zusammenfassende Statistik. Die Anzeige lasse ich mit dem Programm less puffern. Sie können mit den Cursor-Tasten und zeilenweise blättern. Mit den Tasten (Bildì) und (Bildë) bewegen Sie sich seitenweise. Möchten Sie das angezeigte Ergebnis speichern, drücken Sie die Taste (S) und geben einen Dateinamen an. Mit (Q) beenden Sie die Anzeige.
#! /bin/sh
# Eingabe der Netzwerkadresse
echo -n "Netzwerkadresse: ";read netz
echo "Ermittle Netzwerkteilnehmer......"
# Durchführen von fping und Umleitung der gesamten Ausgabe
# in Log-Datei
fping -r 0 -aA -e -s -g $netz/24 > fping.log 2>&1
# Anzeigen der Log-Datei ohne die nicht erreichten Hosts
cat fping.log | grep -v "ICMP Host" | less
Listing 10.1 Shell-Skript »netz4.sh«
Die Ausgabe sehen Sie in Abbildung 10.69.
Abbildung 10.69 Ergebnisanzeige von »netz4.sh«
Das folgende Skriptfragment (Listing 10.2) dient Ihnen als Anregung für eigene Anwendungen:
#! /bin/sh
# Eingabe der Netzadresse
echo -n "Netzadresse eingeben: "; read netz
# fping als Datenquelle für for-Schleife
# Ausführen von fping, Umleitung der Fehlerausgabe nach /dev/null,
echo "Erreichbare Hosts"
for i in `fping -r 0 -aA -g $netz/24 2>/dev/null`
do
# Anzeige IP-Adresse
echo $i
# Auswertung für weitere Aktion
if [ "$i" = "192.168.0.1" ];
then
echo "Standard-Gateway"
fi
done
echo "-----------------------------------------"
echo "Nicht erreichbare Hosts"
# fping als Datenquelle für for-Schleife
# Ausführen von fping,
for i in `fping -r 0 -uA -g $netz/24 2> /dev/null`
do
echo $i
if [ "$i" = "192.168.0.0" ];
then
echo "Netzadresse, kein Host"
fi
done
Listing 10.2 Skriptfragment für eigene Entwicklungen
In dem Skriptfragment aus Listing 10.2 finden Sie zunächst eine for-Schleife, die die aktiven Hosts auflistet. Anstelle der Abfrage nach der Netzadresse können Sie die Variable $netz mit einem festen Wert belegen (netz="192.168.0.0"). Diese Zuweisung ersetzt dann die Abfragezeile. Mit dem if-Konstrukt werten Sie die mit dem Schleifendurchgang wechselnden Inhalte der Variable i aus. Als »Aktion« habe ich hier nur eine echo-Anweisung gewählt, die den angegebenen Text ausgibt. An dieser Stelle können Sie hier Ihre eigenen Anweisungen setzen: Wake-on-LAN, Softwareverteilung, Datensicherung, Rechner herunterfahren, da am Abend vom Benutzer vergessen, u. Ä.
Übrigens können Sie auch auf Windows-Rechnern solche Shell-Skripte laufen lassen. Den Shell-Interpreter bash finden Sie unter http://win-bash.sourceforge.net. Für die anderen Befehle (wie less) suchen Sie unter www.freecode.com.
10.7.9 Die Erreichbarkeit von Hosts mit »ping« bzw. »ping6« prüfen
Mit ping verwenden Sie ein Standardwerkzeug, das Sie auf allen Betriebssystemen vorfinden. Für Ihren Arbeitsalltag werden Sie vor allem die Optionen -c <ZAHL der Pings> und -f (»Dauerfeuer«) verwenden. Je nach Ausführung erhalten Sie als Antwort entweder ein schlichtes alive oder not alive. Andere Versionen zeigen Ihnen die Laufzeit, die Größe der Testpakete und eine statistische Zusammenfassung an:
harald@ze4:~$ ping -c 3 192.168.0.25
PING 192.168.0.25 (192.168.0.25) 56(84) bytes of data.
64 bytes from 192.168.0.25: icmp_req=1 ttl=64 time=0.056 ms
64 bytes from 192.168.0.25: icmp_req=2 ttl=64 time=0.049 ms
64 bytes from 192.168.0.25: icmp_req=3 ttl=64 time=0.052 ms
--- 192.168.0.25 ping statistics ---
3 packets transmitted, 3 received, 0 % packet loss, time 1999ms
rtt min/avg/max/mdev = 0.049/0.052/0.056/0.006 ms
Konnten Sie den Host nicht erreichen, sieht Ihre ping-Ausgabe so aus:
harald@ze4:~$ ping -c 1 192.168.0.26
PING 192.168.0.26 (192.168.0.26) 56(84) bytes of data.
From 192.168.0.34 icmp_seq=1 Destination Host Unreachable
--- 192.168.0.26 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100 % packet loss, time 0ms
Weitere Informationen liefert Ihnen die Manual-Seite (Linux, FreeBSD) oder die help-Option. Beachten Sie auch die Ausführungen zur Namensauflösung (Abschnitt 4.4.1, »Prüfung der Erreichbarkeit und Namensauflösung mit ›ping‹ bzw. ›ping6‹«) und ICMP (Kapitel 5, »Steuer- und Fehlercodes mit ICMP und ICMPv6 übertragen«).
Sie können auf ein weiteres Programm mit ähnlicher Funktionalität zurückgreifen. Mit oping testen Sie wahlweise IPv4- und IPv6-Adressen.
10.7.10 »cryptcat«: im Dienste der Sicherheit
Dieses bereits in Abschnitt 9.1.5 erwähnte Programm kann Ihnen helfen, offene Ports an Ihren Rechnern zu erkennen oder aber auf Portscans zu reagieren.
Um sowohl die offenen als auch geschlossenen Ports eines Rechners zu scannen, wenden Sie diese Syntax an:
cryptcat -vv -z RECHNERNAME|IPADRESSE PORT|PORTBEREICH
Das Beispiel finden Sie in Abbildung 10.70.
Abbildung 10.70 Anzeige des angegebenen Portbereichs
Möchten Sie nur offene Ports aufspüren, lassen Sie bei den Optionen ein v weg (Abbildung 10.71):
cryptcat -v -z RECHNERNAME|IPADRESSE PORT|PORTBEREICH
Abbildung 10.71 Anzeige offener Ports des angegebenen Portbereichs
Sie können das Programm gut in Shell-Skripte einbinden, denn bei der Verwendung einer einzigen Port-Angabe ist auch der Exitcode $? zur weiteren Steuerung auswertbar. Dies möchte Ihnen das minimalistische Beispiel in Listing 10.3 zeigen. Für Ihre Versuche in Ihrem eigenen lokalen Netz ersetzen Sie die großgeschriebenen Begriffe durch die entsprechenden Angaben.
#! /bin/sh
cryptcat -v -z RECHNERNAME|IPADRESSE PORT > /dev/null 2>&1
if [ $? -eq 0 ];
then
echo "SSH-Port geöffnet"
else
echo "SSH-Port geschlossen"
fi
Listing 10.3 Ein Shell-Skript mit »cryptcat«
Weitaus interessanter für die Praxis ist die Möglichkeit, auf Port-Ansprachen durch Scans oder andere Maßnahmen zu reagieren. Dazu starten Sie das Programm im Lauschmodus. Die Grundsyntax hierfür lautet:
Dabei steht die Option -n für die Unterbindung der Namensauflösung (was ja eine nach außen gerichtete verräterische Aktion darstellen kann). Mit -l versetzen Sie das Programm in den Empfangsmodus. Der Port wird mittels -p PORT angegeben. Der angegebene Port darf nicht bereits durch andere Anwendungen belegt sein, andernfalls erhalten Sie nur eine Fehlermeldung.
cryptcat beendet sich nach einem einzigen Kontakt des Ports mit der Außenwelt und gibt den Exitcode 0 aus. Das in Listing 10.4 gezeigte Shell-Kommando wall dient der Ausgabe der Nachricht auf allen aktiven Terminalsitzungen. Aber Sie können hier natürlich auch noch weitere Aktionen vorsehen, bis hin zum kurzzeitigen Deaktivieren der Netzwerkkarte! Den Ablauf des Shell-Skripts und die Port-Abfrage von einem anderen Rechner aus finden Sie in Abbildung 10.72.
#! /bin/sh
cryptcat -v -n -l -p 7071
if [ $? -eq 0 ]
then
wall "Da hat wer angeklopft"
fi
Listing 10.4 »cryptcat« meldet einen Anklopfer.
Abbildung 10.72 Reaktion auf Portscan
10.7.11 Weitere Systemabfragen auf Linux-Systemen
Mit fuser können Sie unter anderem ermitteln, welche Prozesse und deren Eigentümer welchen Port belegen. Die Informationen hieraus sind dann von Bedeutung, wenn sich eine Netzwerkanwendung nicht starten lässt, weil der gewünschte Port schon anderweitig belegt ist.
Die Abfrage geschieht in der Form:
fuser -u PORT/TCP|UDP
Die Abbildung 10.73 zeigt Ihnen die Ausgabe für den Port 22, der von einigen Prozessen genutzt wird.
Abbildung 10.73 Ausgabe von »fuser«
Im Verzeichnis proc finden Sie Informationen zu belegten Ressourcen, die der Kernel verwaltet. Mit den Shell-Befehlen ls und cat können Sie viele Informationen zu Prozessen auslesen. Sie müssen dafür als Benutzer root agieren.
Nachdem die Prozesse über einen Port durch fuser ermittelt wurden, interessieren uns nun die Details dazu. Mit PID wird die betreffende Prozessnummer bezeichnet. Bei manchen Befehlen wurde das Kommando echo " " angereiht. Dies dient nur der Verbesserung der Lesbarkeit. Nachdem der von cat ausgegebenen Information der Zeilenvorschub fehlt, würde unmittelbar daran der Systemprompt »geklebt«. Die Ausführung der nachfolgend gezeigten Vorgehensweise finden Sie in Abbildung 10.74.
-
Programm, das den Port belegt: ls -l /proc/PID/exe
-
Aufruf des Programms: cat /proc/PID/cmdline
-
Ausgabe der Umgebungstabelle: cat /proc/PID/environ
-
Arbeitsverzeichnis des Prozesses: ls -l /proc/PID/cwd
-
Wurzelverzeichnis des Prozesses: ls -l /proc/PID/root
Mit lsof finden Sie ebenso Angaben über belegte Ressourcen. Dieses Programm verfügt über verschiedene Optionen, hier verwenden wir nur -i. Ports werden in der Form :PORT nach den Optionen angegeben. Die Manual-Seite informiert Sie über die vollständigen Möglichkeiten. In Abbildung 10.75 wird gezeigt, wie man Prozesse und Eigentümer ermittelt, die einen bestimmten Port benutzen.
Abbildung 10.74 Ermittlung weiterer Informationen über eine PID
Abbildung 10.75 Abfragen mit »lsof«
Ohne Angabe des Ports würden alle Prozesse, Benutzer und Programmaufrufe bezüglich belegter Netzwerkressourcen aufgelistet.
Beachten Sie, dass hier nur Grundlagen zur Netzwerksicherheit aufgeführt werden können. Die verschiedenen Gefahrenbilder sind leider dynamischer Natur und wechseln rasch. Halten Sie sich deshalb stets auf dem Laufenden. Führen Sie Sicherheitsupdates zeitnah aus. Verfolgen Sie den vielzitierten Grundsatz der Datensparsamkeit. Sensible Daten gehören in sichere »Schatzkammern«!