Portas abertas no Linux [Guia Básico]
Parte do diagnóstico de rede, é verificar os serviços com portas abertas no Linux.
Como Verificar as Portas Abertas no Linux
Para verificar as portas em aberto com o netstat, as opções “-tunl” podem ser usadas:
- -t para TCP
- -u para UDP
- -n para não resolver nomes
- -l para as portas abertas (listen)
Neste exemplo, o netstat lista as portas abertas TCP/UDP:
$ netstat -tunl
Active Internet connections (only servers)
Proto Local Address Foreign Address
tcp 127.0.0.53:53 0.0.0.0:*
tcp 0.0.0.0:22 0.0.0.0:*
tcp6 0 :::22 :::*
udp 127.0.0.53:53 0.0.0.0:*
O netstat com a opção -p mostra os processos donos das portas. Para utilizar essa opção é preciso ser o root:
$ sudo netstat -tunlp
Active Internet connections (only servers)
Proto Local Address State PID/Program name
tcp 127.0.0.53:53 LISTEN 24813/systemd-resol
tcp 0.0.0.0:22 LISTEN 9857/sshd
tcp6 :::22 LISTEN 9857/sshd
udp 127.0.0.53:53 24813/systemd-resol
O comando ss também pode mostrar as portas abertas com a opção idêntica:
# ss -tunelp
Netid Local Address:Port Peer Address:Port
udp 127.0.0.53%lo:53 0.0.0.0:* ("systemd-resolve",pid=355)
udp 0.0.0.0:68 0.0.0.0:* ("dhclient",pid=17984)
udp 0.0.0.0:5353 0.0.0.0:* ("avahi-daemon",pid=27533)
tcp 0.0.0.0:22 0.0.0.0:* ("sshd",pid=14825)
Comando lsof no Linux
Como tudo no Linux é um arquivo, também as conexões de rede podem ser visualizadas como um “arquivo em aberto”. O comando “lsof” pode ser usado neste contexto para ver os arquivos que correspondem a endereços de Internet.
A opção “-i” do lsof filtra os arquivos em aberto do tipo de endereços de Internet. É necessário executar o lsof como root:
$ sudo lsof -i COMMAND PID USER FD TYPE NODE NAME sshd 9857 root 3u IPv4 TCP *:ssh (LISTEN) sshd 9857 root 4u IPv6 TCP *:ssh (LISTEN) systemd-r 24813 systemd-resolve 12u IPv4 UDP localhost:domain systemd-r 24813 systemd-resolve 13u IPv4 TCP localhost:domain (LISTEN)
Comando fuser no Linux
O comando “fuser” também pode ser usado para mostrar informações sobre uma determinada porta em aberto. Ele identifica os processos através dos arquivos ou sockets, retornando o PID dos processos:
$ sudo fuser 22/tcp
22/tcp: 9857 24313 24400
Para saber qual processo está usando determinado arquivo:
$ fuser -v /bin/bash
USER PID ACCESS COMMAND
/usr/bin/bash: ec2-user 16092 ...e. bash
Os comandos netstat, ss, lsof e fuser servem para ver as portas em aberto da máquina local.
Existe uma ferramenta chamada nmap que pode também descobrir as portas em aberto tanto da máquina local, quanto de máquinas remotas.
Treine seus conhecimentos com nosso quiz
Essas perguntas abordam conceitos-chave discutidos no artigo sobre portas abertas no Linux, proporcionando uma oportunidade para os leitores testarem seu conhecimento após a leitura do material.
Portas Abertas no Linux
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