Discussion:
Ausgabe von netstat bzw. TCPView verstehen?
(zu alt für eine Antwort)
Stefan Mahrhold
2005-07-20 21:07:31 UTC
Permalink
Hallo!

Ich würde gerne einmal die Ausgaben von Programmen wie netstat oder
TCPView verstehen. Leider liest man allenthalben nur was diese Programme
leisten können, aber nicht, wie deren Ausgabe zu interpretieren ist.
Wenn ich möglichst viele Dienste und Programme deaktiviere bekomme ich
z.B. folgende Ausgabe mit TCPView:

Process Prot Local Address Remote Address State
AVGNT.EXE:1596 TCP 0.0.0.0:2487 0.0.0.0:0 LISTENING
AVGNT.EXE:1596 TCP 127.0.0.1:2487 127.0.0.1:18350 ESTABLISHED
AVGUARD.EXE:804 TCP 0.0.0.0:18350 0.0.0.0:0 LISTENING
AVGUARD.EXE:804 TCP 127.0.0.1:18350 127.0.0.1:2487 ESTABLISHED
svchost.exe:476 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
System:8 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
System:8 TCP 0.0.0.0:1029 0.0.0.0:0 LISTENING
System:8 TCP 192.168.1.20:139 0.0.0.0:0 LISTENING
System:8 UDP 0.0.0.0:445 *:*
System:8 UDP 192.168.1.20:137 *:*
System:8 UDP 192.168.1.20:138 *:*

Was bedeuten z.B. die drei verschiedenen lokalen IP-Adressen (0.0.0.0,
127.0.0.1 und 192.168.1.20)? Kennzeichnen die das jeweilig betroffene
NIC (0.0.0.0 = alle Netzwerkadapter, 127.0.0.1 = Loopback Device,
192.168.1.20 = Ethernet Netzwerkkarte)? Bedeutet das auch, dass z.B. der
Dienst, der an dem NIC mit der IP-Adresse 192.168.1.20 auf Port 139
lauscht (Zeile 8), nur über meine Ethernet Karte und nicht z.B. über das
Loopback Device erreicht werden kann?
Wie kann es funktionieren, dass ein Dienst (AVGNT.EXE) auf Port 2487
lauscht, während über den gleichen Port eine Verbindung mit Port 18350
über das Loopback Device besteht (Zeilen 1 und 2)? Was bedeutet die
Remote Adresse *:* bei Diensten die UDP-Ports benutzen? Sind
UDP-Verbindungen zustandslos, so dass kein Status angegeben wird?

Gruß und Danke,
Stefan
Juergen P. Meier
2005-07-21 04:36:49 UTC
Permalink
Post by Stefan Mahrhold
Hallo!
Ich würde gerne einmal die Ausgaben von Programmen wie netstat oder
TCPView verstehen. Leider liest man allenthalben nur was diese Programme
leisten können, aber nicht, wie deren Ausgabe zu interpretieren ist.
Wenn ich möglichst viele Dienste und Programme deaktiviere bekomme ich
Es gibt einfuehrende Literatur ueber TCP/IP. Dort wird das erklaert.
Literaturhinweise wurden hier schon gepostet, google Archiv sollte
das finden. Ein guter Einstiegspunkt ist die Netzmafia seite.
Post by Stefan Mahrhold
Process Prot Local Address Remote Address State
AVGNT.EXE:1596 TCP 0.0.0.0:2487 0.0.0.0:0 LISTENING
AVGNT.EXE:1596 TCP 127.0.0.1:2487 127.0.0.1:18350 ESTABLISHED
AVGUARD.EXE:804 TCP 0.0.0.0:18350 0.0.0.0:0 LISTENING
AVGUARD.EXE:804 TCP 127.0.0.1:18350 127.0.0.1:2487 ESTABLISHED
svchost.exe:476 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
System:8 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
System:8 TCP 0.0.0.0:1029 0.0.0.0:0 LISTENING
System:8 TCP 192.168.1.20:139 0.0.0.0:0 LISTENING
System:8 UDP 0.0.0.0:445 *:*
System:8 UDP 192.168.1.20:137 *:*
System:8 UDP 192.168.1.20:138 *:*
Was bedeuten z.B. die drei verschiedenen lokalen IP-Adressen (0.0.0.0,
127.0.0.1 und 192.168.1.20)? Kennzeichnen die das jeweilig betroffene
NIC (0.0.0.0 = alle Netzwerkadapter, 127.0.0.1 = Loopback Device,
192.168.1.20 = Ethernet Netzwerkkarte)? Bedeutet das auch, dass z.B. der
Das ist eine Eigenart der Mickeysoft Wintendo Winsocket API. Ein
Programm, dass sich eigentlich nur auf "alles", sprich per Socket-API
auf die lokale Addresse 0.0.0.0 binden moechte, bekommt von Wintendo
alle aktuell mit IP versehenen Interfaces aufs Auge gedrueckt. Das
siehst du im netstat/tcpview.
Post by Stefan Mahrhold
Dienst, der an dem NIC mit der IP-Adresse 192.168.1.20 auf Port 139
lauscht (Zeile 8), nur über meine Ethernet Karte und nicht z.B. über das
Loopback Device erreicht werden kann?
Jain. Immerhin funktioniert das zuverlaessig mit dem aktuellen Winsocket
Stack.

Bei Wintendo XP zumindest defaultmaessig: Ja, da dort nicht laenger
das "weak host model" Anwendung findet, dass einem (frueher) erlaubte,
ein Paket von einem Angriffsrechner, der lokal am gleichen Schicht-2
Netzwerk (z.B. Ethernet) haengt, gezielt an den Netzwerkadapter z.B.
mit der IP 192.168.1.20 zu schicken (ueber statische Schicht-2 (MAC)
Addressierung), jedoch im IP header die Ziel-IP 127.0.0.1 drinstehen
hatte, was dazu fuehrte, dass der Rechner dachte, das paket ginge an
das lokale Loopback Interface, an dem ggf. mehr Offen war, als auf
192.168.1.20.

Ganz viel Frueher[tm] waren auch die gaengigen Unix Systeme nach
dem "weak host model" gebaut. Aus offenkundigen gruenden der
Systemsicherheit wurde das z.T. geaendert oder es wurden
Konfigurationsmmechanismen eingebaut, die es dem Admin erlauben das
Verhalten zu steuern.
Post by Stefan Mahrhold
Wie kann es funktionieren, dass ein Dienst (AVGNT.EXE) auf Port 2487
lauscht, während über den gleichen Port eine Verbindung mit Port 18350
über das Loopback Device besteht (Zeilen 1 und 2)? Was bedeutet die
Na, er lauscht weiterhin auf dem Port, um weitere Verbindungsanfragen
anzunehmen. Ein Prozess kann beliebig¹ viele TCP Sockets verwalten.

Eine TCP Verbindung wird eindeutig durch das 4-Tupel aus Lokaler
IP Addresse, Lokalem Port, Entfernter IP Addresse und entferntem Port
identifiziert. solange mindestens einer diese Parameter verschieden
ist, kann das System Verbindungen auseinanderhalten.

Es waere z.B. problemlos moeglich, fuer Verbindungen zu zwei
verschiedenen entfernten Webservern (verschiedene IP) den gleichen
lokalen Port zu verwenden. Das der Mickeysoft Wintendo Winsocket
TCP/IP Stack jedoch vom BSD Stack abgekupfert wurde (wie viele
andere auch, Linux und Solaris bildet hier u.a. jedoch eine Ausnahme)
wird dort fuer jede Verbindung nach aussen ein eigener lokaler Port
verwendet. Die Pruefung, ob die Gegenstelle verschieden ist, ist wohl
zu teuer, und gerade bei HTTP hast du viele Verbindungen zur selben
Gegenstelle (was unterschiedliche lokale Ports notwendig macht).
Post by Stefan Mahrhold
Remote Adresse *:* bei Diensten die UDP-Ports benutzen? Sind
UDP-Verbindungen zustandslos, so dass kein Status angegeben wird?
UDP ist Verbindungslos. D.h. es existiert strenggenommen keine Gegenstelle.

Zur Anzeige von TCP/IP Stack Stati fuer UDP wird jedoch der
Einfachheit halber die gleiche Ausgabemaske verwendet wie bei TCP.

¹ Begrenzt durch Limits des Betriebssytems, des TCP/IP Stacks und der
Laufzeitlimits des Prozesses. IdR. zwischen 256 und 4096.

HTH,
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
Loading...