Aus Linux-Magazin 01/2016

Aus dem Alltag eines Sysadmin: Socket Statistics

Abbildung 1: Der Socket-Auflister <custom name="code">ss</custom>, hier auch farblich unterstützt, verschafft einen guten Überblick.

Nach Rom führen bekanntlich viele Wege, gleichwohl steuern die meisten Fahrer die ewige Stadt über die Autostrada A1/E35 an. Um sich über den Status von Netzwerk-Sockets zu informieren, greifen Sysadmins herdengleich zu Netstat. Sysadmin-Kolumnist Charly kennt eine gut Abkürzung: “ss”.

Eine Horde Parameter steuert das Verhalten von Netstat. Der Admin darf zudem die Optionen fröhlich kombinieren, sodass mancher »netstat« -Aufruf ausschaut, als habe sich ein Gürteltier über die Tastatur gewälzt. Mit »ss« (wie Socket Statistics) existiert ein noch spezielleres Werkzeug für diesen Zweck. Es stammt aus dem Iproute2-Paket [1] – so wie seine Geschwister »bridge« , »rtacct« , »rtmon« , »tc« , »ctstat« , »lnstat« , »nstat« , »routef« , »routel« , »rtstat« und »ip« .

Da ein laufendes Linux mehrere Hundert bis Tausend Ports nutzt, bringt »ss« eine Reihe Filter mit. Am häufigsten benötige ich die Parameter »-t« und »-u« , welche die Ergebnisse auf TCP- oder UDP-Sockets einschränken. Weitere Parameter limitieren die Liste auf Raw-, DCCP- (Datagram Congestion Control Protocol), Packet- und Unix-Domain-Sockets.

Achtung: Per Default zeigt das Tool nur TCP-Sockets stehender Verbindungen an, (»established« oder »close_wait« ). Will ich – wie meistens – auch Sockets im Status »listen« sehen, tippe ich »ss -ta« . Soll das Tool nur lauschende TCP-Sockets beachten und alle andere unterdrücken, greife ich zu »ss -lt« . Füge ich hier »-p« hinzu, sehe ich zusätzlich, welcher Prozess den Socket geöffnet hat. Dazu muss ich mit Rootrechten unterwegs sein. Bin ich das nicht, bleibt »-p« folgenlos.

Zahlen, bitte!

Ein weiterer Default ist, dass »ss« die Portnummern anhand der Datei »/etc/services« in Namen übersetzt. Dieses Verhalten kann ich mit »-n« (für numeric) abschalten. Will ich, dass das Tool die beteiligten IP-Adressen zu Namen auflöst, lege ich ein »-r« obendrauf. Mit »-4« und »-6« kann ich auf eine der beiden TCP/IP-Versionen einschränken.

Ich finde es nützlich, nach Quell- (»sport« ) und Zielport (»dport« ) zu filtern. So zeigt

# ss -natp6 sport = :25
LISTEN   0   100   :::25   :::*   users:(("master",27452,13))

ob der Mailserver via IPv6 lauscht (ja) und welcher Prozess auf Port 25 sitzt. Auch logische Verknüpfungen sind okay:

# ss -t4 dport = :443 or dport = :80
ESTAB 0 0 10.0.0.201:53389  10.0.0.118:http

Das Kolorieren in Abbildung 1 hat »ccze« [2] erledigt, doch »grc« [3] oder »rainbow« [4] hätten es auch geschafft – viele Wege führen nach Rom. (jk)

Abbildung 1: Der Socket-Auflister »ss«, hier auch farblich unterstützt, verschafft einen guten Überblick.

Abbildung 1: Der Socket-Auflister »ss«, hier auch farblich unterstützt, verschafft einen guten Überblick.

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben