Este artigo cobre o uso do comando ss com alguns exemplos simples. Todos os comandos mostrados neste artigo foram executados no Ubuntu 20.04 distribuição para verificar as estatísticas de soquete e conexões de rede.
Exemplo 1: Listar conexão de rede usando o comando ss
Você pode listar facilmente todas as conexões de rede presentes em um sistema, incluindo conexões de soquete TCP, UDP e UNIX, usando o seguinte comando ss. A saída é exibida no formato "menos" para que você possa rolar pela janela de saída:
$ ss | menos
Exemplo 2: Listar conexões TCP, UDP e Unix Socket
Você também pode filtrar as conexões de soquete TCP, UDP e UNIX usando as seguintes opções:
Usar apenas a opção “t” exibe as conexões que são 'Conectadas' ou 'Estabelecidas.'Esta opção por si só não mostra as conexões de soquete TCP que estão' Escutando.'
$ ss -t
Para TCP, use a opção '-t', junto com a tag '-A'.
$ ss -A tcp
Para conexões UDP, use o seguinte comando:
$ ss -ua$ ss -a -A udp
A opção 'a' exibe os soquetes 'Conectado' e 'Ouvindo'. UDP é um protocolo sem conexão, então usar 'ss -u' sozinho não exibirá nada. No entanto, o 'a' pode ser usado para mostrar todas as conexões UDP.
Para conexões de soquete Unix, use o seguinte comando:
$ ss x
Exemplo 3: Exibir saída mais rápida
A opção “n” usada com 't' impede que as estatísticas de soquete resolvam endereços IP para nomes de host e exibe uma saída mais rápida, da seguinte maneira:
$ ss -nt
Exemplo 4: Exibir apenas soquetes de escuta
Você também pode exibir apenas as conexões de soquete TCP que estão escutando. A opção “n” ignora a resolução dos nomes de host do endereço IP para exibir a saída mais rapidamente.
$ ss -ltn
Para todas as conexões de escuta UDP, substitua a opção 't' pela opção 'u', da seguinte maneira:
$ ss -lun
Exemplo 5: exibir o nome do processo com pid
Você pode exibir o nome do processo, junto com o pid de cada processo, usando o seguinte comando ss com a opção '-ltp':
$ sudo ss -ltp
Exemplo 6: estatísticas de exibição
O uso da opção 's' com o comando ss exibe as estatísticas completas, como segue:
$ ss -s
Exemplo 7: Exibir detalhes do temporizador de conexão
Usando a opção '-o' com o comando ss, você pode exibir as informações de tempo de cada conexão. Os detalhes de tempo informam ao usuário por quanto tempo essa conexão foi mantida:
$ ss -tn -o
Exemplo 8: Imprimir conexão de soquete IPV6 ou IPV4
Para imprimir apenas as conexões de soquete IPv4, use a opção '-4' com '-f inet', como segue:
$ ss -tl4$ ss -tl -f inet
Para IPV6, use a opção '-6' ou '-f inet.'
$ ss -tl6
Exemplo 9: Filtrar conexões TCP por estado
Você também pode filtrar conexões por estado de conexão com o comando ss. As conexões podem existir em vários estados, como estabelecido, syn-recv, syn-enviado, fin-wait-1, fin-wait-2, time-wait, close-wait, fechado, todos, último-ack, fechando, conectado , balde, sincronizado e balde.
Portanto, de acordo com os requisitos do usuário, você pode usar e filtrar qualquer estado de conexão executando o seguinte comando:
$ ss [OPÇÕES] estado [nome do estado]Estado $ ss -t4 estabelecido
No exemplo acima, filtramos todas as conexões de soquete 'estabelecidas' de TCP.
tempo de espera de estado $ ss -t4$ ss -t4 state conectado
Exemplo 10: Filtro de endereço por número de porta
Você também pode filtrar a conexão pelo número da porta ou por um endereço IP especificado, da seguinte maneira:
$ ss -nt dst 127.0.0.1: 45807$ sudo ss -ntlp sport gt: 5000
Conclusão
Este artigo explorou os vários usos do comando ss. O comando ss é a melhor alternativa para o comando netstat, como você viu neste tutorial. Usando os exemplos acima, você pode monitorar facilmente os soquetes do sistema e as conexões de rede.