Was bedeutet die Ausgabe von 'ss -s'?

2773
ruanhao

Ich habe ein Problem mit der Ausgabe des Linux- ssBefehls (Socket-Statistik). Ich kann die Bedeutung der Ausgabe nicht verstehenss -s

Zum Beispiel:

[root@dls2304-1 ~]# ss -s Total: 973 (kernel 996) TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333  Transport Total IP IPv6 * 996 - - RAW 1 1 0 UDP 157 128 29 TCP 527 512 15 INET 685 641 44 FRAG 0 0 0 

Meine Fragen:

Was bedeutet Total: 973 (kernel 996)das? Was ist Totalund was ist kernel? Warum Totalscheint es kleiner zu sein kernel?

TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333Was bedeutet das Wort in der Zeile ports?

Und das:

Transport Total IP IPv6 * 996 - - 

Was bedeutet der Stern ( *)?

Sie sind weit über meinen Kopf. Ich kann kein Dokument über die Spezifikation der Ausgabe für den ssBefehl finden. Kannst du mir helfen?

4

1 Antwort auf die Frage

3
JakeGould

Zuerst werde ich ausdrücklich sagen, dass ich diese Antwort wirklich "flügge". Ich habe Erfahrung als Netzwerkadministrator, aber mein Netzwerkwissen ist nicht so tief wie die meisten. Hoffentlich werde ich etwas davon richtig machen. Und wenn jemand, der es besser weiß, dies liest, bitte kommentieren oder sogar korrigieren.

Wenn Sie den ssBefehl (Socketstatistik) mit dem -sFlag ausführen, das den Socketstatus anzeigt. So zu wissen, dass:

Was bedeutet Total: 973 (kernel 996)das? Was ist Totalund was ist kernel? Warum Totalscheint es kleiner zu sein kernel?

Meines Wissens verfallen System-Sockets nicht sofort nach der Verwendung. Nach meinem besten Wissen 973ist dies ein Spiegelbild der gesamten aktiven Sockets minus abgelaufenen Sockets, aber der 996mit dem Kernel verbundene 23Rest enthält die verbleibenden Streusockel, die der Kernel noch nicht zum Reinigen gebracht hat. Diese Seite zum Kernel-Tuning gibt einen guten Überblick über das Konzept, wie der Kern mit Sockets umgeht und wie man ein System so abstimmen kann, dass Sockets auf Kernel-Ebene besser verwaltet werden.

TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333Was bedeutet das Wort in der Zeile ports?

Das ports 333Gerechte ist eine Zusammenfassung aller Portaktivitäten auf Ihrem System zu diesem bestimmten Zeitpunkt. Das 333entspricht der Summe von estab 280und closed 73. Einzelheiten zu diesen Häfen würden unter dieser Liste zusammengefasst. Aber im Zusammenhang mit der Sockets, die im Grunde Zeile gibt es 600Steckdosen zur Verfügung und die 600, 333sind in irgendeiner Weise verbunden zu Ports auf dem System. Weitere Informationen darüber, was ein Socket im Vergleich zu einem Port ist, finden Sie in dieser hervorragenden Antwort zum Stack Overflow .

Was bedeutet der Stern ( *)?

Im Zusammenhang mit dem Beispiel zeigen Sie:

Transport Total IP IPv6 * 996 - - 

Sehen Sie, wie 996der Kern insgesamt ist Total: 973 (kernel 996)? Dies *korreliert mit Sockets, die unabhängig von ihrer Transportschicht auf Kernelebene einfach geöffnet / verwaltet werden.

Aber das sagte ja ... Das ist auf Novizenebene alles sehr verwirrend.

Vielen Dank für Ihre Erklärung und Entschuldigung für die späte Antwort. Nach dem Durchsuchen des Quellcodes von iptable2 habe ich festgestellt, dass Sie im Grunde richtig sind und mich viel erleuchtet haben. Nur zur Erinnerung, ** Ports ** ist nicht immer die Summe von ** estab ** und ** geschlossen **. ** ports ** gibt die Anzahl der aktuell verwendeten Ports auf der Maschine an, die aus / proc / slabstat gelesen werden. ** Ports ** enthalten also einige Ports von Irrweg-Steckdosen. ruanhao vor 9 Jahren 0