O que significa a saída de 'ss -s'?

4

Eu tenho um problema em entender a saída do comando ss (socket statistics) do Linux. Eu não consigo entender o significado da saída de ss -s

Por exemplo:

[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

Minhas perguntas:

O que significa Total: 973 (kernel 996) ? O que é Total e o que é kernel ? Por que Total parece ser menor que kernel ?

Na linha TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333 , o que significa a palavra ports ?

E isso:

Transport Total     IP        IPv6
*         996       -         -

O que significa o asterisco ( * )?

Eles estão bem acima da minha cabeça. Não consigo encontrar documento sobre as especificações da saída para o comando ss . Você pode me ajudar?

    
por ruanhao 04.03.2015 / 02:24

1 resposta

3

Primeiro, vou declarar explicitamente que estou realmente "dando asas" a essa resposta. Tenho experiência em rede como administrador de sistemas, mas meu conhecimento de rede não é tão profundo quanto a maioria. Então, espero que eu acerte um pouco disso. E se alguém que sabe ler melhor isso, por favor, comente ou edite para corrigir.

Quando você executa o comando ss (estatísticas de soquete) com o sinalizador -s que mostra a status do soquete. Então, sabendo disso:

What does Total: 973 (kernel 996) mean? What is Total and what is kernel? Why Total seems to be smaller than kernel?

De acordo com meu conhecimento, os soquetes do sistema não expiram imediatamente após o uso. Então, de acordo com o meu conhecimento, o 973 é um reflexo do total de sockets ativos menos soquetes expirados, mas o 996 conectado ao kernel inclui os 23 restantes soquetes perdidos que o kernel ainda não limpou . Esta página sobre ajuste do kernel dá uma boa visão geral do conceito de como o kernel lida com soquetes e como alguém pode ajustar um sistema para melhor gerenciar soquetes no nível do kernel.

In the line TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333, what does the word ports mean?

O ports 333 é apenas uma contagem de todas as atividades de porta em seu sistema naquele momento específico. O 333 corresponde à soma de estab 280 e closed 73 . Detalhes sobre essas portas seriam resumidos abaixo dessa lista. Mas, no contexto de sockets, essa linha basicamente indica que há 600 sockets disponíveis e, desses 600 , 333 estão de alguma forma associados a portas no sistema. Para obter mais detalhes sobre o que é um soquete em relação a uma porta, leia esta excelente resposta em estouro de pilha .

What does the asterisk (*) mean?

No contexto do exemplo, você mostra:

Transport Total     IP        IPv6
*         996       -         -

Veja como 996 do total do kernel em Total: 973 (kernel 996) ? Esse * se correlaciona a soquetes que são simplesmente abertos / gerenciados, independentemente de sua camada de transporte no nível do kernel.

Mas isso dito, sim ... Isso tudo é muito confuso em um nível de principiante.

    
por 04.03.2015 / 04:46