fbpx Certificação Linux: Comando ss no Linux (investigar a rede) [Guia Básico]

Blog

Comando ss no Linux (investigar a rede) [Guia Básico]

📅 08/12/2021 ⏱ 4 min ✍️ Uira Ribeiro
Linuxcomandos
Comando ss no Linux (investigar a rede) [Guia Básico]

O comando ss no Linux é extremamente útil para investigar os sockets, fornecendo várias informações sobre a rede. Ele é a evolução do comando netstat do antigo Net-tools. É importante que se entenda que um socket pode ser uma conexão de rede, bem como um socket do tipo Unix, que é um arquivo especial que atua como "ponte de comunicação" entre dois programas.

Suas opções mais comuns são:

  • -a: lista todos sockets;
  • -r: resolve os endereços IPs e portas por nomes de serviços;
  • -n: não resolve os endereços IPs e portas para serviços;
  • -l: lista somente as portas abertas (LISTEN);
  • -e: mostra informações detalhadas sobre o socket;
  • -m: mostra a alocação de memória do socket;
  • -p: mostra o processo dono do socket;
  • -i: mostra estatísticas do TCP sobre o socket;
  • -K: força o fechamento de um socket;
  • -s: mostra as estatísticas da rede;
  • -t: filtra somente os pacotes TCP;
  • -u: filtra somente os pacotes UDP;
  • -4: filtra somente os pacotes IPv4;
  • -6: filtra somente os pacotes IPv6;

Algumas opções podem ser combinadas para formar um determinado resultado.

Exemplos:

Para ver as estatísticas da rede:

$ ss -sTotal: 1020TCP:   25 (estab 2, closed 1, orphaned 0, timewait 1)Transport Total     IP        IPv6RAW        1         0         1        UDP        9         6         3        TCP        24        22        2        INET       34        28        6        FRAG       0         0         0        

Para ver as portas TCP abertas (em LISTENING):

$ ss -ltState    Recv-Q  Send-Q   Local Address:Port     Peer Address:Port 
LISTEN     0       128    127.0.0.53%lo:domain   0.0.0.0:* 
LISTEN     0       128    0.0.0.0:ssh            0.0.0.0:* 
LISTEN     0       128    [::]:ssh               [::]:*                  

Para mostrar as portas TCP e UDP abertas e os processos donos do sockets. Para mostrar os processos, o usuário precisa ser o administrador root:

# ss -ltpu
Netid State   Local Address
udp   UNCONN  127.0.0.1:323   users:(("chronyd",pid=20898,fd=5))
tcp   LISTEN  0.0.0.0:ssh     users:(("sshd",pid=9857,fd=3))

Mostra todas as conexões estabelecidas na porta (22) do ssh:

$ ss -o state established '( dport = :ssh or sport = :ssh )'Netid   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port           tcp       0       0     10.211.55.63:ssh    10.211.55.2:64749  timer:(keepalive,104min,0)

Esse comando é útil para diagnosticar os seguintes problemas:

  • Verificar quais serviços de rede que estão em execução (-l)
  • Verificar a quantidade de memória consumida por um socket (-m)
  • Verificar os processos donos dos sockets (-p)
  • Verificar as conexões estabelecidas (-o state established)
  • Verificar o volume de dados trafegado em uma conexão TCP (-i)

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp