A ferramenta netstat exibe conexões de rede, tabelas de roteamento e estatísticas de interface.
Para instalar essa ferramenta usamos:
Debian:
sudo apt install net-tools -y
CentOS:
sudo yum install net-tools -y
Usando netstat
- Vendo versão com “netstat -V” ou “netstat –version”
elder@server01:~$ sudo netstat -V net-tools 2.10-alpha
- Exibir tabela de roteamento da rede com “netstat -r” ou “netstat -nr”. O -n serve para tentar mostrar apenas endereços números e não tentar resolver nomes.
elder@server01:~$ sudo netstat -nr Tabela de Roteamento IP do Kernel Destino Roteador MáscaraGen. Opções MSS Janela irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s3 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
- Exibindo interfaces com “netstat -i” ou “netstat -ai”. O -a exibe todas as interfaces do kernel
elder@server01:~$ sudo netstat -ai Tabela de Interfaces do Kernel Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp0s3 1500 385502 0 0 0 3327 0 0 0 BMRU lo 65536 41 0 0 0 41 0 0 0 LRU
- Exibindo todas(-a) conexões tcp(-t ou –tcp).
elder@server01:~$ sudo netstat -at Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado tcp 0 0 localhost:6010 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:ssh 0.0.0.0:* OUÇA tcp 0 0 192.168.0.40:ssh 192.168.0.169:60700 ESTABELECIDA tcp6 0 0 localhost:6010 [::]:* OUÇA tcp6 0 0 [::]:mysql [::]:* OUÇA tcp6 0 0 [::]:ssh [::]:* OUÇA tcp6 0 0 192.168.0.40:mysql 192.168.0.169:48304 ESTABELECIDA
Posso usar “-n” para não resolver nomes. No caso acima, irá colocar o endereço ip no lugar de “localhost” e a porta no lugar de “:mysql”
elder@server01:~$ sudo netstat -atn Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado tcp 0 0 127.0.0.1:6010 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:22 0.0.0.0:* OUÇA tcp 0 0 192.168.0.40:22 192.168.0.169:60700 ESTABELECIDA tcp6 0 0 ::1:6010 :::* OUÇA tcp6 0 0 :::3306 :::* OUÇA tcp6 0 0 :::22 :::* OUÇA tcp6 0 0 192.168.0.40:3306 192.168.0.169:48304 ESTABELECIDA
- exibir conexões usando protocolo udp(-u ou –udp) ao invés de tcp
elder@server01:~$ sudo netstat -anu Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado
no caso acima não há conexões udp.
- Mostrando os serviços e suas portas(-p) correspondentes
elder@server01:~$ sudo netstat -tunapl Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado PID/Program name tcp 0 0 127.0.0.1:6010 0.0.0.0:* OUÇA 1152/sshd: elder@pt tcp 0 0 0.0.0.0:22 0.0.0.0:* OUÇA 722/sshd tcp 0 0 192.168.0.40:22 192.168.0.169:60700 ESTABELECIDA 1135/sshd: elder [p tcp6 0 0 ::1:6010 :::* OUÇA 1152/sshd: elder@pt tcp6 0 0 :::3306 :::* OUÇA 1073/mysqld tcp6 0 0 :::22 :::* OUÇA 722/sshd tcp6 0 0 192.168.0.40:3306 192.168.0.169:48304 ESTABELECIDA 1073/mysqld
Conclusão
Aqui vimos como instalar e usar a ferramenta netstat. É um a ótima ferramenta para verificarmos quais portas estão sendo usadas por qual serviço.
Ao usar a opção “-n” a execução do comando será muito mais rápida já que não será necessário resolver nomes.