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 -s
Total: 1020
TCP: 25 (estab 2, closed 1, orphaned 0, timewait 1)
Transport Total IP IPv6
RAW 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 -lt
State 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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix