Como posso listar minhas portas abertas no Debian?

58

Qual é o comando para exibir uma lista de portas abertas em um servidor Debian?

Eu tentei, netstat -a | egrep 'Proto|LISTEN'mas gostaria de algo mais específico que realmente lista o número da porta.

leonel
fonte

Respostas:

86
 netstat -pln

-llistará as portas de escuta, -ptambém exibirá o processo, -nmostrará os números das portas em vez dos nomes. Adicionar -tpara mostrar apenas as portas TCP.

Pedra
fonte
12
Para -pque funcione corretamente, é necessário executá-lo como raiz; caso sudo netstat -tplncontrário, a coluna do processo não será particularmente útil, a menos que você seja o usuário cujo processo está ouvindo em uma determinada porta.
CJC
21

lsof -i -P

Verifique a página de manual, lsofpois não há falta de opções. -Plista o número da porta em vez do nome obtido em /etc/servicesExecutar como raiz; no entanto, isso fornecerá uma lista de todas as conexões de rede ativas e seus status (escuta, estabelecida, etc.).

Jeff Ferland
fonte
Essa deve ser a resposta correta. Netstat não está instalado por padrão
José
10

O que quase todo mundo quer (TCP e UDP) é netstat -tunlp.

Eu uso todos os dias, talvez a cada hora. O hack 'lsof' é mais portátil (funciona também no Solaris), mas no Debian não é um pacote essencial, você deve instalá-lo.

zerodeux
fonte
Sim, e execute-o via sudo.
Martijn Heemels
11
Meu amigo me ensinou a lembrar deste comando com o nome de uma flor. netstat -tulpenFlag efornece informações adicionais.
Deele
11
E agora, em 2018, minha nova caixa Debian não tem, netstatmas tem lsof. :)
Jason
10

Eu sou um grande fã netstat -ntlpe lsof -i, ambos já mencionados.

Um novo (er) comando para mim é ss .

A invocação é como:

ss -l

É bom ter opções, em termos de comandos e sinalizadores.

dmourati
fonte
11
opções são especialmente bons desde o recipiente mongo janela de encaixe (e presumivelmente muitos outros) teve ss, mas não netstat ou lsof
Foon
Comecei a usar isso como uma pergunta de entrevista. Provavelmente perguntou a 40 pessoas diferentes. Até agora, ninguém mencionou ss. Eu pergunto como o OP, então se eles responderem, eu digo: "ok, eu tiro o X, agora como você pode fazer isso". Até a falta de idéias.
dmourati
6

Você pode fazer:

netstat -an | egrep 'Proto|LISTEN'

ou simplesmente:

netstat -anl

o que lhe dará todas as tomadas de escuta no sistema.

Karlson
fonte
2
Esta seria a melhor solução (onde "melhor" é definido como "funciona na mais ampla gama de sistemas" (BSD, Linux, AIX, Solaris, acredito HP-UX))
voretaq7
0

TechRepulic tem um artigo decente que você pode encontrar aqui . Possui alguns comandos semelhantes aos listados acima, mas também algumas variações. Também recomendo o uso do nmap para fazer uma varredura de portas do computador em questão, para que você possa ver de uma perspectiva externa quais portas estão abertas e escutando.

Eric
fonte
Você poderia me dizer por que isso foi rejeitado? Como eu simplesmente forneci um link com muitas das soluções acima aprovadas, juntamente com uma perspectiva diferente de fazer uma verificação externa também. Obrigado.
Eric
8
Não reduzi o voto, mas na falha do servidor, como na maioria das trocas de pilhas, geralmente esperamos que você coloque a resposta aqui, e não apenas um link para outro lugar. Os links desaparecem com o tempo, mas queremos que o conteúdo do SF ainda seja valioso quando os links expirarem.
Zoredache
A única linha de código que o link do artigo acima tem é sudo nmap -T4 -A -v 192.168.1.1/24tudo o que você precisa fazer - faça isso sem detalhes ... É como ler a contracapa de um livro - muitas palavras sem carne.
precisa saber é o seguinte
0

As portas de escuta não são iguais às portas abertas de fora. Você precisa considerar o firewall. Se você tentar um programa como nmapoutro computador, poderá ver as portas abertas não bloqueadas pelo firewall.

Niklas Rosencrantz
fonte
0

Prefiro usar:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
XsiSec
fonte