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 Netid
et reste ont tcp
.
Quel est ce u_str
ici, veuillez également en expliquer davantage sur Recv-Q
et Send-Q
?
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.
ss
dump s
ocket s
tatistics. 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éeAF_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
.