|
| 1 | +--- |
| 2 | +title: Der netstat-Befehl unter Linux |
| 3 | +description: Übersicht über den Befehl netstat und seine Parameter unter Linux |
| 4 | +date: 2025-08-11T06:16:18.634Z |
| 5 | +preview: ../../../../assets/images/posts/linux/linux-commands/netstat-linux.webp |
| 6 | +hero: /images/posts/linux/linux-commands/netstat-linux.webp |
| 7 | +tags: |
| 8 | + - linux |
| 9 | + - tutorials |
| 10 | + - netzwerk |
| 11 | +categories: |
| 12 | + - Linux |
| 13 | + - Network |
| 14 | + - Tutorials |
| 15 | +menu: |
| 16 | + sidebar: |
| 17 | + name: Übersicht über den Befehl netstat und seine Parameter unter Linux |
| 18 | + identifier: netstat-linux |
| 19 | + parent: linux-befehle |
| 20 | +keywords: |
| 21 | + - netstat linux |
| 22 | + - netstat-parameter |
| 23 | + - netstat |
| 24 | +--- |
| 25 | +In diesem Überblick möchte ich euch eine Anleitung zum Befehl `netstat` geben, die einzelnen **Parameter** zu `netstat` erklären und wie ihr diese in eurer Linux-Umgebung verwenden könnt. |
| 26 | + |
| 27 | +## Was ist der netstat-Befehl und wofür nutzt man diesen? |
| 28 | + |
| 29 | +Der **netstat**-Befehl (Network Statistics) ist ein klassisches Kommandozeilen-Tool unter Linux, das detaillierte Informationen über Netzwerkverbindungen, Routing-Tabellen, Schnittstellen-Statistiken und verschiedene netzwerkbezogene Datenstrukturen anzeigt. Obwohl das Tool inzwischen als veraltet gilt und durch modernere Alternativen wie `ss` ersetzt wurde, ist es nach wie vor weit verbreitet und ein wichtiges Werkzeug für die Netzwerkdiagnose. |
| 30 | + |
| 31 | +## Installation und Verfügbarkeit |
| 32 | + |
| 33 | +In neueren Linux-Distributionen ist netstat nicht mehr standardmäßig installiert. Sie können es über das **net-tools**-Paket nachinstallieren: |
| 34 | + |
| 35 | +```bash |
| 36 | +# Ubuntu/Debian |
| 37 | +sudo apt-get install net-tools |
| 38 | + |
| 39 | +# CentOS/RHEL/Fedora |
| 40 | +sudo yum install net-tools |
| 41 | +# oder bei neueren Versionen: |
| 42 | +sudo dnf install net-tools |
| 43 | +``` |
| 44 | + |
| 45 | + |
| 46 | +## Grundlegende Syntax |
| 47 | + |
| 48 | +```bash |
| 49 | +netstat [Optionen] |
| 50 | +``` |
| 51 | + |
| 52 | +Ohne Optionen zeigt netstat eine Liste der aktiven Netzwerkverbindungen an. |
| 53 | + |
| 54 | +## Praktische Beispiele |
| 55 | + |
| 56 | +### 1. Alle aktiven Verbindungen anzeigen |
| 57 | + |
| 58 | +```bash |
| 59 | +netstat -a |
| 60 | +``` |
| 61 | + |
| 62 | +Zeigt alle aktiven TCP- und UDP-Verbindungen sowie alle abhörenden Ports an. |
| 63 | + |
| 64 | +### 2. Nur TCP-Verbindungen anzeigen |
| 65 | + |
| 66 | +```bash |
| 67 | +netstat -t |
| 68 | +# oder für alle TCP-Verbindungen (auch abhörende) |
| 69 | +netstat -at |
| 70 | +``` |
| 71 | + |
| 72 | + |
| 73 | +### 3. Nur UDP-Verbindungen anzeigen |
| 74 | + |
| 75 | +```bash |
| 76 | +netstat -u |
| 77 | +# oder für alle UDP-Verbindungen |
| 78 | +netstat -au |
| 79 | +``` |
| 80 | + |
| 81 | + |
| 82 | +### 4. Abhörende Ports anzeigen |
| 83 | + |
| 84 | +```bash |
| 85 | +netstat -l |
| 86 | +# oder spezifisch für TCP |
| 87 | +netstat -lt |
| 88 | +# oder für UDP |
| 89 | +netstat -lu |
| 90 | +``` |
| 91 | + |
| 92 | + |
| 93 | +### 5. Numerische Ausgabe (keine Namensauflösung) |
| 94 | + |
| 95 | +```bash |
| 96 | +netstat -n |
| 97 | +# Kombiniert mit anderen Optionen |
| 98 | +netstat -an |
| 99 | +netstat -tln |
| 100 | +``` |
| 101 | + |
| 102 | +Diese Option ist besonders nützlich für die Performance, da keine DNS-Lookups durchgeführt werden. |
| 103 | + |
| 104 | +### 6. Prozessinformationen anzeigen |
| 105 | + |
| 106 | +```bash |
| 107 | +netstat -p |
| 108 | +# Kombiniert mit anderen Optionen |
| 109 | +netstat -tlnp |
| 110 | +``` |
| 111 | + |
| 112 | +Zeigt die PID und den Prozessnamen an, der den jeweiligen Socket verwendet. |
| 113 | + |
| 114 | +> **Hinweis**: Root-Berechtigung erforderlich für vollständige Informationen. |
| 115 | +
|
| 116 | +### 7. Routing-Tabelle anzeigen |
| 117 | + |
| 118 | +```bash |
| 119 | +netstat -r |
| 120 | +# oder mit numerischer Ausgabe |
| 121 | +netstat -rn |
| 122 | +``` |
| 123 | + |
| 124 | + |
| 125 | +### 8. Netzwerk-Schnittstellen anzeigen |
| 126 | + |
| 127 | +```bash |
| 128 | +netstat -i |
| 129 | +# mit erweiterten Informationen |
| 130 | +netstat -ie |
| 131 | +``` |
| 132 | + |
| 133 | + |
| 134 | +### 9. Netzwerk-Statistiken anzeigen |
| 135 | + |
| 136 | +```bash |
| 137 | +# Alle Protokoll-Statistiken |
| 138 | +netstat -s |
| 139 | +# Nur TCP-Statistiken |
| 140 | +netstat -st |
| 141 | +# Nur UDP-Statistiken |
| 142 | +netstat -su |
| 143 | +``` |
| 144 | + |
| 145 | + |
| 146 | +### 10. Kontinuierliche Überwachung |
| 147 | + |
| 148 | +```bash |
| 149 | +netstat -c |
| 150 | +# Kombiniert mit anderen Optionen für kontinuierliche Anzeige |
| 151 | +netstat -tlnpc |
| 152 | +``` |
| 153 | + |
| 154 | + |
| 155 | +### 11. Häufig verwendete Kombinationen |
| 156 | + |
| 157 | +```bash |
| 158 | +# Alle TCP-Verbindungen mit Prozessinformationen (numerisch) |
| 159 | +netstat -tlnp |
| 160 | + |
| 161 | +# Alle aktiven Verbindungen mit Prozessen |
| 162 | +netstat -anp |
| 163 | + |
| 164 | +# Abhörende Ports mit Prozessinformationen |
| 165 | +netstat -lnp |
| 166 | + |
| 167 | +# Erweiterte Informationen über etablierte Verbindungen |
| 168 | +netstat -tep |
| 169 | +``` |
| 170 | + |
| 171 | + |
| 172 | +## Ausgabeformat verstehen |
| 173 | + |
| 174 | +### TCP/UDP-Verbindungen |
| 175 | + |
| 176 | +- **Proto**: Protokoll (TCP, UDP) |
| 177 | +- **Recv-Q**: Anzahl Bytes im Empfangspuffer |
| 178 | +- **Send-Q**: Anzahl Bytes im Sendepuffer |
| 179 | +- **Local Address**: Lokale IP-Adresse und Port |
| 180 | +- **Foreign Address**: Remote-IP-Adresse und Port |
| 181 | +- **State**: Verbindungsstatus (ESTABLISHED, LISTENING, etc.) |
| 182 | +- **PID/Program name**: Prozess-ID und Programmname (bei -p Option) |
| 183 | + |
| 184 | + |
| 185 | +### Verbindungsstatus |
| 186 | + |
| 187 | +- **ESTABLISHED**: Aktive Verbindung[^5][^2] |
| 188 | +- **LISTENING**: Port wartet auf eingehende Verbindungen |
| 189 | +- **TIME_WAIT**: Verbindung wird geschlossen |
| 190 | +- **CLOSE_WAIT**: Warten auf Schließung durch lokale Anwendung |
| 191 | +- **SYN_SENT**: Verbindungsaufbau initiiert |
| 192 | +- **SYN_RECV**: Verbindungsanfrage empfangen |
| 193 | + |
| 194 | + |
| 195 | +## Vollständige Optionsübersicht |
| 196 | + |
| 197 | +### Allgemeine Optionen |
| 198 | + |
| 199 | +| Option | Beschreibung | |
| 200 | +| :-- | :-- | |
| 201 | +| `-a, --all` | Zeigt alle Sockets an (sowohl abhörende als auch nicht-abhörende). Mit --interfaces zeigt auch nicht aktive Schnittstellen | |
| 202 | +| `-l, --listening` | Zeigt nur abhörende Sockets an (normalerweise werden diese ausgeblendet) | |
| 203 | +| `-n, --numeric` | Zeigt numerische Adressen statt symbolischer Host-, Port- oder Benutzernamen | |
| 204 | +| `--numeric-hosts` | Zeigt nur numerische Host-Adressen, aber löst Port- und Benutzernamen auf | |
| 205 | +| `--numeric-ports` | Zeigt nur numerische Portnummern, aber löst Host- und Benutzernamen auf | |
| 206 | +| `--numeric-users` | Zeigt nur numerische Benutzer-IDs, aber löst Host- und Portnamen auf | |
| 207 | +| `-p, --program` | Zeigt die PID und den Namen des Programms, dem jeder Socket gehört | |
| 208 | +| `-v, --verbose` | Ausführliche Ausgabe mit zusätzlichen Informationen | |
| 209 | +| `-c, --continuous` | Kontinuierliche Ausgabe - aktualisiert die Anzeige jede Sekunde | |
| 210 | +| `-e, --extend` | Zeigt erweiterte Informationen. Zweimalige Verwendung für maximale Details | |
| 211 | +| `-W, --wide` | Kürzt IP-Adressen nicht ab, verwendet so breite Ausgabe wie nötig | |
| 212 | +| `--help` | Zeigt Hilfe an | |
| 213 | +| `-V, --version` | Zeigt Versionsinformation an | |
| 214 | + |
| 215 | +### Protokoll-spezifische Optionen |
| 216 | + |
| 217 | +| Option | Beschreibung | |
| 218 | +| :-- | :-- | |
| 219 | +| `-t, --tcp` | Zeigt nur TCP-Verbindungen an | |
| 220 | +| `-u, --udp` | Zeigt nur UDP-Verbindungen an | |
| 221 | +| `-U, --udplite` | Zeigt nur UDPLite-Verbindungen an | |
| 222 | +| `-S, --sctp` | Zeigt nur SCTP-Verbindungen an | |
| 223 | +| `-w, --raw` | Zeigt nur RAW-Sockets an | |
| 224 | +| `-x, --unix` | Zeigt nur Unix-Domain-Sockets an | |
| 225 | +| `-2, --l2cap` | Zeigt nur L2CAP-Sockets (Bluetooth) an | |
| 226 | +| `-f, --rfcomm` | Zeigt nur RFCOMM-Sockets (Bluetooth) an | |
| 227 | + |
| 228 | +### Adressfamilien-Optionen |
| 229 | + |
| 230 | +| Option | Beschreibung | |
| 231 | +| :-- | :-- | |
| 232 | +| `-4, --inet` | Zeigt nur IPv4-Verbindungen an | |
| 233 | +| `-6, --inet6` | Zeigt nur IPv6-Verbindungen an | |
| 234 | +| `--protocol={family}` | Gibt die Adressfamilie an (inet, inet6, unix, ipx, ax25, netrom, ddp, bluetooth) | |
| 235 | +| `--ax25` | Zeigt AX.25-Verbindungen an | |
| 236 | +| `--x25` | Zeigt X.25-Verbindungen an | |
| 237 | +| `--rose` | Zeigt ROSE-Verbindungen an | |
| 238 | +| `--ash` | Zeigt ASH-Verbindungen an | |
| 239 | +| `--bluetooth` | Zeigt Bluetooth-Verbindungen an | |
| 240 | +| `--ipx` | Zeigt IPX-Verbindungen an | |
| 241 | +| `--netrom` | Zeigt NET/ROM-Verbindungen an | |
| 242 | +| `--ddp, --appletalk` | Zeigt DDP (AppleTalk)-Verbindungen an | |
| 243 | +| `--econet, --ec` | Zeigt Econet-Verbindungen an | |
| 244 | + |
| 245 | +### Spezielle Modi |
| 246 | + |
| 247 | +| Option | Beschreibung | |
| 248 | +| :-- | :-- | |
| 249 | +| `-r, --route` | Zeigt die Kernel-Routing-Tabelle an | |
| 250 | +| `-i, --interfaces` | Zeigt eine Tabelle aller Netzwerk-Schnittstellen an | |
| 251 | +| `-g, --groups` | Zeigt Multicast-Gruppenmitgliedschaften für IPv4 und IPv6 an | |
| 252 | +| `-M, --masquerade` | Zeigt eine Liste der maskierten Verbindungen an | |
| 253 | +| `-s, --statistics` | Zeigt zusammenfassende Statistiken für jedes Protokoll an | |
| 254 | + |
| 255 | +### Timer und zusätzliche Informationen |
| 256 | + |
| 257 | +| Option | Beschreibung | |
| 258 | +| :-- | :-- | |
| 259 | +| `-o, --timers` | Zeigt Informationen zu Netzwerk-Timern an | |
| 260 | +| `-N, --symbolic` | Löst Hardware-Namen auf | |
| 261 | + |
| 262 | +### Routing-spezifische Optionen |
| 263 | + |
| 264 | +| Option | Beschreibung | |
| 265 | +| :-- | :-- | |
| 266 | +| `-F` | Zeigt Routing-Informationen aus der FIB (Forward Information Base) - Standard | |
| 267 | +| `-C` | Zeigt Routing-Informationen aus dem Route-Cache | |
| 268 | + |
| 269 | +## Erweiterte Nutzung für IT-Security |
| 270 | + |
| 271 | +Als IT-Sicherheitsmanager können Sie netstat für verschiedene Sicherheitsanalysen einsetzen: |
| 272 | + |
| 273 | +### 1. Überwachung verdächtiger Verbindungen |
| 274 | + |
| 275 | +```bash |
| 276 | +# Alle etablierten Verbindungen mit Prozessinformationen |
| 277 | +netstat -antp | grep ESTABLISHED |
| 278 | +``` |
| 279 | + |
| 280 | + |
| 281 | +### 2. Analyse offener Ports |
| 282 | + |
| 283 | +```bash |
| 284 | +# Alle abhörenden Ports identifizieren |
| 285 | +netstat -tlnp | grep LISTEN |
| 286 | +``` |
| 287 | + |
| 288 | + |
| 289 | +### 3. Unbekannte Prozesse identifizieren |
| 290 | + |
| 291 | +```bash |
| 292 | +# Alle Netzwerkaktivitäten mit Prozessen |
| 293 | +netstat -anp | grep -v "127.0.0.1" |
| 294 | +``` |
| 295 | + |
| 296 | + |
| 297 | +### 4. Kontinuierliche Sicherheitsüberwachung |
| 298 | + |
| 299 | +```bash |
| 300 | +# Kontinuierliche Überwachung aller Verbindungen |
| 301 | +watch -n 1 "netstat -antp" |
| 302 | +``` |
| 303 | + |
| 304 | + |
| 305 | +## Moderne Alternativen |
| 306 | + |
| 307 | +Da netstat als veraltet gilt, sollten Sie auch moderne Alternativen kennen: |
| 308 | + |
| 309 | +- **ss**: Ersatz für netstat mit besserer Performance **(einen Überblick zum Befehl `ss`, findet ihr auch eine Übersicht hier auf SecureBits)** |
| 310 | +- **ip route**: Ersatz für `netstat -r` **(einen Überblick zum Befehl `ip`, findet ihr auch eine Übersicht hier auf SecureBits) |
| 311 | +- **ip -s link**: Ersatz für `netstat -i` |
| 312 | +- **ip maddr**: Ersatz für `netstat -g` |
| 313 | + |
| 314 | + |
| 315 | +## Fazit |
| 316 | + |
| 317 | +Der netstat-Befehl bleibt trotz seines veralteten Status ein nützliches Werkzeug für die Netzwerkdiagnose und Sicherheitsanalyse unter Linux. Die umfangreichen Optionen ermöglichen eine detaillierte Analyse von Netzwerkverbindungen, Routing-Tabellen und Schnittstellen-Statistiken. Für IT-Sicherheitsmanager ist es besonders wertvoll zur Identifikation verdächtiger Netzwerkaktivitäten und zur Überwachung offener Ports. |
| 318 | + |
| 319 | + |
0 commit comments