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.