• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Hilfe bei netstat Ausgabe

Ich mache meine erste Schritte mit dem Kommando netstat und benötige Hilfe.
Nach Eingabe von
Code:
netstat –atupe
habe ich eine lange Liste bekommen.

Hier ein Ausschnitt:
Code:
unix  3      [ ]         STREAM     VERBUNDEN     14752  @/tmp/.ICE-unix/2475
unix  3      [ ]         STREAM     VERBUNDEN     14345  @/tmp/dbus-YWMxdCNKbB
unix  3      [ ]         STREAM     VERBUNDEN     18003  @/tmp/dbus-YWMxdCNKbB
unix  3      [ ]         STREAM     VERBUNDEN     15382  @/tmp/dbus-YWMxdCNKbB
unix  3      [ ]         STREAM     VERBUNDEN     14349  @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     VERBUNDEN     13065  @/tmp/dbus-YWMxdCNKbB
unix  3      [ ]         STREAM     VERBUNDEN     14162  
unix  3      [ ]         STREAM     VERBUNDEN     12678  
unix  3      [ ]         STREAM     VERBUNDEN     14387  
unix  3      [ ]         STREAM     VERBUNDEN     13835
Was bedeutet z.B.
Code:
unix  3      [ ]         STREAM     VERBUNDEN     13065  @/tmp/dbus-YWMxdCNKbB
Ich habe mit Dateimanager im /tmp nach dbus-YWMxdCNKbB gesucht aber nichts gefunden.
Mit wem oder was bin ich verbunden?

Was bedeutet z.B.
Code:
unix  3      [ ]         STREAM     VERBUNDEN     12678
Mit wem oder was bin ich hier verbunden?
Grüße Heinz-Peter
 
A

Anonymous

Gast
Was du hier siehst sind Sockets genauer "POSIX local inter-process communication sockets (auch Unix Domain Socket oder IPC Socket)" die gehören zur Interprozesskommunikation sind aber vom Prinzip Netzwerk.

Das einigermaßen verständlich für eine Vielzahl von Lesern mit sehr unterschiedlichen Wissensstand und zu erklären ist unmöglich. Deshalb hier nur die Erklärung was du dort überhaupt gesehen hast und was das ist.
Verbunden sind hier über Sockets Prozesse und Threads, und zwar über den Kernel und exclusiv nur auf diesem System. Kommunikation nach außen kann man mit diesen Sockets nicht erzeugen, dazu müsste man diese erst mit anderen Netzwerkprogrammen oder Tools mit einem TCP/IP Netzwerkport verbindet . Sockets sind typischerweise auf einen normalen System hunderte oder gar tausende aktiv vorhanden.

Ist bedeutend schneller als normale Netzwerkverbindungen zB. TCP/IP.
Socketverbindungen haben aber Netzwerkeingenschaften so das lokal ablaufende Netzwerkverbindungen zwischen Client und Server die normaler weise als TCP/IP ablaufen oft auch problemlos über Unix-Sockets lokal auf einem Rechner zu konfigurieren wären und oft auch umgekehrt.
zB. die Kommunikation des X-Server läuft normalerweise über Sockets auf deinem System, du kannst ihn aber genauso gut auch über TCP/IP betreiben und dann von einem anderem Rechner aus auf den X-Server zugreifen. Solange der X-Server nur über Sockets läuft, kommst du dort von Außen nicht so einfach an den X-Server hin. Dazu müsstest du erst noch zusätzlich die Dienste eines zusätzlichen Servers oder Programms nutzen, dass dann die von außen kommende TCP/IP Kommunikation erst auf die Unix-Sockets des X-Servers routet.

Die meisten Sockets sind exklusiv und privat von den Prozessen erzeugt worden, die hier drüber mit einzelnen Programmteilen kommunizieren. Was die dort miteinander für Daten austauschen ist in der Regel privat, uninteressant von außen nur mit Tracetools abzufragen, wird und braucht auch nicht überwacht zu werden. Die Schnittstelle dazu wird man normalerweise gar nicht zu Gesicht bekommen. Aber einige habe eine im Dateisystem auffindbare Socketdatei, und einige Prozesse warten auch "listen" an diesen Socketdatein
Code:
# netstat -l
...
Aktive Sockets in der UNIX Domäne (Nur Server)
Proto RefZäh Flaggen     Typ        Zustand       I-Node Pfad
unix  2      [ ACC ]     STREAM     HÖRT         13042  @/tmp/.ICE-unix/2686
unix  2      [ ACC ]     STREAM     HÖRT         13043  /tmp/.ICE-unix/2686
unix  2      [ ACC ]     STREAM     HÖRT         7954   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     HÖRT         10564  /tmp/ssh-KgLhg2uHiZwd/agent.1162
unix  2      [ ACC ]     STREAM     HÖRT         8751   @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     HÖRT         9069   /var/run/xdmctl/dmctl-:0/socket
......
Ich habe mit Dateimanager im /tmp nach dbus-YWMxdCNKbB gesucht aber nichts gefunden.
Die Socketdateien kann man sich schon anschauen, aber bitte nicht mit mit einem Dateimanager. Dateimanager wurden für den Gebrauch von Endusern entwickelt, und die brauchen überhaupt nicht zu wissen was ein Socket ist, also brauchen sie die Dateien auch nicht zu sehen ;) Steht ja auch sowieso nichts drin, das sind Sonderdateien mit einer konstanten Große von 0 Byte.
Code:
# ls -l /tmp/.ICE-unix/2686
srwxrwxrwx 1 robi users 0 28. Aug 21:15 /tmp/.ICE-unix/2686
# stat /tmp/.ICE-unix/2686
  Datei: „/tmp/.ICE-unix/2686“
  Größe: 0              Blöcke: 0          EA Block: 4096   Socket
Gerät: 802h/2050d       Inode: 410642      Verknüpfungen: 1
Zugriff: (0777/srwxrwxrwx)  Uid: ( 1000/    robi)   Gid: (  100/   users)
Zugriff    : 2013-08-28 21:15:04.205414729 +0200
Modifiziert: 2013-08-28 21:15:04.205414729 +0200
Geändert   : 2013-08-28 21:15:04.205414729 +0200
 Geburt    : -
Eine erste Hilfe für viele Sockets zu welchem Programm sie gehören gibt netstat schon mit der Option "-p"
Code:
# netstat -lp 
......
Aktive Sockets in der UNIX Domäne (Nur Server)
Proto RefZäh Flaggen     Typ        Zustand       I-Node PID/Program name    Pfad
unix  2      [ ACC ]     STREAM     HÖRT         13042  2686/kdeinit4: ksms @/tmp/.ICE-unix/2686
unix  2      [ ACC ]     STREAM     HÖRT         13043  2686/kdeinit4: ksms /tmp/.ICE-unix/2686
unix  2      [ ACC ]     STREAM     HÖRT         7954   -                   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     HÖRT         10564  -                   /tmp/ssh-KgLhg2uHiZwd/agent.1162
......
hier kann man bei einigen schon die PID und den Programmnamen sehen. zB "2686/kdeinit4"
Programmname=kdeinit4 PID=2686
Code:
# cat /proc/2686/cmdline
kdeinit4: ksmserver [kdeinit]
Bei anderen muss man erst suchen zu welchem Programm die gehören , lsof hilft dort in der Regel weiter.

Wie das Programm jetzt diese Sockets nutzt, kann man dann im /proc/PID/fd Verzeichnis finden.
Code:
#  ls -l /proc/2686/fd
insgesamt 0
lr-x------ 1 robi users 64 28. Aug 21:38 0 -> pipe:[10007]
l-wx------ 1 robi users 64 28. Aug 21:38 1 -> /home/robi/.xsession-errors
lrwx------ 1 robi users 64 28. Aug 21:38 10 -> socket:[12865]
lrwx------ 1 robi users 64 28. Aug 21:38 9 -> socket:[13042]
lr-x------ 1 robi users 64 28. Aug 21:38 11 -> anon_inode:inotify
lrwx------ 1 robi users 64 28. Aug 21:38 12 -> socket:[13043]
lrwx------ 1 robi users 64 28. Aug 21:38 13 -> anon_inode:[eventfd]
l-wx------ 1 robi users 64 28. Aug 21:38 14 -> pipe:[13048]
lrwx------ 1 robi users 64 28. Aug 21:38 15 -> socket:[13276]
lrwx------ 1 robi users 64 28. Aug 21:38 16 -> socket:[12160]
lrwx------ 1 robi users 64 28. Aug 21:38 17 -> socket:[14445]
In diesem Beispiel nutzt das Programm den Socket 13042 ( als Socketdatei /tmp/.ICE-unix/2686 ) am File Descriptor 9 um dort auf Anfragen zu warten.

robi
 
OP
Heinz-Peter
Hallo @robi!
Danke für deine Antwort.

Das Kommandos netstat ist in zwei Bereiche aufgeteilt.
Der erste Bereich mit der Überschrift „Aktive Internetverbindungen (ohne Server)“ betrifft die Internetverbindungen in die „weite Welt hin und zurück zu meinem PC“. Die Verbindungen können also gefährlich werden.
Der zweite Bereich mit der Überschrift „Aktive Sockets in der UNIX Domäne (ohne Server)“ betrifft (wenn ich richtig verstanden habe) eine Netzwerkkommunikation zwischen verschiedenen Programmen usw. nur lokal also nur auf meinem PC und somit ungefährlich.
Mich interessiert der gefährliche Bereich und wie kann ich meine Privatsphäre schützen.
Ich habe gelesen das ein PC hat ca. 6000 Ports an denen die www. Pakete kommen und gehen.
Für gute Links zu diesem Thema bin ich dankbar.

Grüße Heinz-Peter
 

spoensche

Moderator
Teammitglied
Heinz-Peter schrieb:
Mich interessiert der gefährliche Bereich und wie kann ich meine Privatsphäre schützen.
Ich habe gelesen das ein PC hat ca. 6000 Ports an denen die www. Pakete kommen und gehen.
Für gute Links zu diesem Thema bin ich dankbar.

6000 Ports ist ein bisschen wenig. Bei 65000 bist du nah dran. ;)

Über diese 65000 Ports wandern nicht nur HTTP- Verbindungen, sondern auch e-Mail, Messenger und viele mehr.

Die Firewall sollte als min. Grundschutz laufen.

Mehr zum Thema Linux und Netzwerksicherheit findest du unter:

http://www.linupedia.org/opensuse/Netzwerk
http://www.oreilly.de/german/freebooks/
http://www.tldp.org
 
Oben