Zum Hauptinhalt springen
  1. Braindump/

Verbindungen und offene Sockets/Ports anzeigen

2 min
Marcel Ryser
Autor
Marcel Ryser
Softwarearchitekt und Tech-Enthusiast aus Bern

Beim Entwickeln oder Nutzen von Services ist es oft praktisch, alle lauschenden Sockets oder Verbindungen der Maschine aufzulisten. Auf den meisten Distributionen gibt es dafür ein praktisches Tool:

Auf älteren Distributionen gab es netstat, auf neueren wurde es durch ss ersetzt.

$ ss

Netid    State    Recv-Q   Send-Q                     Local Address:Port       Peer Address:Port                 
u_seq    ESTAB    0        0                                 @0001f 101956                * 101957               
u_seq    ESTAB    0        0                                 @0001c 36327                 * 36328                
u_str    ESTAB    0        0                                      * 605506                * 605507               
u_str    ESTAB    0        0        /var/run/dbus/system_bus_socket 40972                 * 39126                
u_str    ESTAB    0        0                                      * 39939                 * 39938                
u_str    ESTAB    0        0                                      * 29377                 * 27430                
u_str    ESTAB    0        0                                      * 620557                * 620556               
u_str    ESTAB    0        0                                      * 602348                * 602349               
u_str    ESTAB    0        0                                      * 34852                 * 32327                
u_str    ESTAB    0        0                     @/tmp/.X11-unix/X0 27347                 * 33301                
u_str    ESTAB    0        0                     /run/user/1000/bus 34057                 * 34056                
u_str    ESTAB    0        0                    @/tmp/dbus-RiJ4OUll 1096107               * 1100088              
u_str    ESTAB    0        0                                      * 681622                * 681621               
u_str    ESTAB    0        0                                      * 107612                * 106793               
u_str    ESTAB    0        0                                      * 36029                 * 34234                
u_str    ESTAB    0        0            /run/systemd/journal/stdout 30269                 * 35283                
u_str    ESTAB    0        0                                      * 35859                 * 32413                
....

ein paar meiner meistgenutzten Optionen:

       -n, --numeric
              Do not try to resolve service names.

       -a, --all
              Display both listening and non-listening (for TCP this means established connections) sockets.

       -l, --listening
              Display only listening sockets (these are omitted by default).

       -p, --processes
              Show process using socket.

       -t, --tcp
              Display TCP sockets.

       -u, --udp
              Display UDP sockets.

       -x, --unix
              Display Unix domain sockets (alias for -f unix).

Beispiele:

  • Alle lauschenden TCP-Sockets anzeigen (Ports numerisch statt als Service-Namen):

    ss -altn
  • Alle Prozesse mit lauschenden TCP-Sockets anzeigen (Ports numerisch statt als Service-Namen):

    ss -altnp

Beachte: Für manche Operationen – etwa das Anzeigen von Prozessen – musst du mit sudo ausführen.