web-dev-qa-db-fra.com

Que sont u_str, Recv-Q et Send-Q dans la sortie ss?

La commande ss est très similaire à la commande netstat mais elle est plus rapide et plus précise que netstat.

monitoring-server@monitoring-server:~$ ss
Netid State      Recv-Q Send-      Local Address:Port    Peer Address:Port       
u_str ESTAB      0      0          * 34006              * 34007                

C'est la première ligne de l'ouptut. Cette commande indique tous les sockets ouverts dans le système.

Total sur mon système est 96 et 56 d'entre eux ont u_str comme Netidet reste ont tcp.

Quel est ce u_str ici, veuillez également en expliquer davantage sur Recv-Q et Send-Q?

4
luv.preet

u_str est un socket de flux équivalent à SOCK_STREAM de netstat.

SOCK_STREAM: Ceci est un socket de flux (connexion).

De Wikipedia :

Dans les systèmes d’exploitation informatiques, un socket de flux est un type de socket de communication interprocessus ou de socket réseau fournissant un flux de données orienté connexion, séquencé et unique sans limites d’enregistrement, avec des mécanismes bien définis pour créer et détruire des connexions et pour détecter les erreurs. .

Créons un socket de flux:

netcat -lU /tmp/streamsocket

Maintenant, lancez:

ss -an | grep streamsocket

Il produira:

u_str  LISTEN     0      5      /tmp/streamsocket 123360      * 0     

En bref, c’est le type de socket qui peut aussi être "UDP" ou "TCP". Créons un socket UDP:

netcat -lu 127.0.0.1 8060

Maintenant, ss -l sport = 8060 vous dira que celui-ci est un "UDP" au lieu de "u_str".


Pour les colonnes "Recv-Q" et "Send-Q", consultez man 8 netstat:

Recv-Q Nombre d'octets non copiés par le programme utilisateur connecté à ce socket.

Send-Q Nombre d'octets non reconnus par l'hôte distant.

3
Ravexina

ss dump socket statistics. Netid u_str est l'abréviation de unix_stream c'est-à-dire AF_UNIX famille de socket et SOCK_STREAM socket type:

La famille de sockets AF_UNIX (également appelée AF_LOCAL) est utilisée pour communiquer efficacement entre des processus d'une même machine. Traditionnellement, les sockets de domaine UNIX peuvent être soit non nommés, soit liés à un chemin d'accès au système de fichiers (marqué comme étant du type socket). Linux prend également en charge un espace de noms abstrait indépendant du système de fichiers.

SOCK_STREAM Fournit des flux d'octets basés sur une connexion, bidirectionnels, fiables et séquentiels. Un mécanisme de transmission de données hors bande peut être pris en charge.

De l'intro rapide à ss (/usr/share/doc/iproute2-doc/ss.html) :

Ensuite, deux colonnes (Recv-Q et Send-Q) indiquant la quantité de données en file d'attente pour la réception et la transmission.

Pour les sockets unix, il s'agit de unix_diag_rqlen de unix_diag.h .

1
jfs