Die ss
Befehl ist sehr ähnlich zu netstat
Befehl, aber es ist schneller und genauer als netstat
.
[email protected]:~$ ss
Netid State Recv-Q Send- Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 34006 * 34007
Dies ist die erste Zeile der Ausgabe. Dieser Befehl teilt allen im System geöffneten Sockets mit.
Insgesamt sind auf meinem System 96 und 56 davon haben u_str
als Netid
und der Rest hat tcp
.
Was ist das u_str
hier , Erklären Sie bitte auch mehr über Recv-Q
und Send-Q
?
Akzeptierte Antwort:
u_str
ist ein Stream-Socket und entspricht netstat
ist SOCK_STREAM.
SOCK_STREAM:Dies ist ein Stream-(Verbindungs-)Socket.
Aus Wikipedia:
In Computerbetriebssystemen ist ein Stream-Socket eine Art Interprozess-Kommunikations-Socket oder Netzwerk-Socket, das einen verbindungsorientierten, sequenzierten und eindeutigen Datenfluss ohne Datensatzgrenzen mit genau definierten Mechanismen zum Erstellen und Zerstören von Verbindungen und zum Erkennen von Fehlern bereitstellt .
Lassen Sie uns einen Stream-Socket erstellen:
netcat -lU /tmp/streamsocket
Führen Sie nun Folgendes aus:
ss -an | grep streamsocket
Es wird ausgegeben:
u_str LISTEN 0 5 /tmp/streamsocket 123360 * 0
Einfach ausgedrückt ist es der Socket-Typ, der auch „UDP“ oder „TCP“ sein kann. Lassen Sie uns einen UDP-Socket erstellen:
netcat -lu 127.0.0.1 8060
Jetzt ss -l sport = 8060
wird Ihnen sagen, dass dies ein „UDP“ anstelle von „u_str“ ist.
Für die Spalten „Recv-Q“ und „Send-Q“ siehe man 8 netstat
:
Recv-Q
Die Anzahl der Bytes, die nicht von dem mit diesem Socket verbundenen Benutzerprogramm kopiert wurden.
Send-Q
Die Anzahl der Bytes, die vom Remote-Host nicht bestätigt wurden.