Eu sei que posso usar nmap
para ver quais portas estão abertas em uma máquina específica. Mas o que eu preciso é uma maneira de obtê-lo do próprio host.
Atualmente, se eu usar nmap
uma das minhas máquinas para verificar a outra, obtenho um exemplo:
smb:~# nmap 192.168.1.4
PORT STATE SERVICE
25/tcp open smtp
80/tcp open http
113/tcp closed ident
143/tcp open imap
443/tcp open https
465/tcp open smtps
587/tcp open submission
993/tcp open imaps
Existe uma maneira de fazer isso no próprio host? Não de uma máquina remota para um host específico.
eu sei que eu posso fazer
nmap localhost
Mas não é isso que quero fazer, pois colocarei o comando em um script que passará por todas as máquinas.
EDITAR:
Desta forma, nmap
mostrou , 22 5000 5001 5432 6002 7103 7106 7201 9200
mas lsof command
me mostrou22 5000 5001 5432 5601 6002 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7201 7210 11211 27017
No Linux, você pode usar:
ou
Para listar as
l
portasT
CP eU
DP de escuta.Adicione a
-n
opção (para umss
ounetstat
) se desejar desabilitar a tradução do número da porta e endereço IP para o serviço e nome do host.Adicione a
-p
opção para ver os processos (se houver, algumas portas podem estar vinculadas ao kernel como para NFS) que estão ouvindo (se você não tiver privilégios de superusuário, isso fornecerá apenas essas informações para processos em execução em seu nome).Isso listaria as portas nas quais um aplicativo está escutando (para UDP, que possui um soquete vinculado a ele). Observe que alguns podem escutar apenas em um determinado endereço (IPv4 e/ou IPv6), o que será mostrado na saída de
ss
/netstat
(0.0.0.0
significa escutar em qualquer endereço IPv4,[::]
em qualquer endereço IPv6). Mesmo assim, isso não significa que um determinado outro host na rede possa entrar em contato com o sistema nessa porta e esse endereço como qualquer firewall, incluindo o firewall do host, pode bloquear ou mascarar/redirecionar as conexões de entrada nessa porta com base em mais ou menos regras complexas (como permitir apenas conexões deste ou daquele host, desta ou daquela porta de origem, neste ou naquele momento e somente até este ou aquele tempo por minuto, etc).Para a configuração do firewall do host, você pode observar a saída de
iptables-save
.Observe também que, se um processo ou processos estiverem escutando em um soquete TCP, mas não aceitando conexões lá, uma vez que o número de conexões de entrada pendentes for maior que o backlog máximo, as conexões não serão mais aceitas e, de um host remoto, mostrará como se a porta estivesse bloqueada. Observe a
Recv-Q
coluna na saída dess
/netstat
para identificar essas situações (em que as conexões de entrada não estão sendo aceitas e preenchem uma fila).Você também pode usar
que mostrará todas as portas atualmente escutando.
Apenas faça
nmap localhost
ounmap 127.0.0.1
EDITAR:
Há também
ss -lntu
em https://superuser.com/questions/529830/get-a-list-of-open-ports-in-linux#529844ou, para qualquer porta específica,
Para visualizar uma lista de combinação de aplicativo/porta, use
Para ver as portas TCP/UDP abertas, digite no terminal:
ou
ss -lntu
Você pode verificar desta forma a lista completa tpc com todos os detalhes:
para todas as portas
ou, para qualquer porta específica,