Respostas:
O Nmap ("Network Mapper") é um utilitário gratuito e de código aberto para exploração de rede ou auditoria de segurança
nmap 192.168.1.33
PC interno ou nmap external ip address
Mais Informações man nmap
nmap localhost
e nmap 192.168.0.3
(ou o que quer que você IP da máquina é)
netstat -ln
. Você verá instantaneamente todas as portas abertas.
nmap localhost
não encontrou serviços vinculados apenas ao localhost. Por exemplo, eu corro influxd
com bind-address:localhost:8086
. Isso não apareceu sudo nmap localhost
, mas apareceu sudo netstat -tulpn
.
Eu sempre usei isso:
sudo netstat -ntlp | grep LISTEN
sudo netstat -ntlp | grep LISTEN
... use de sudo
outra forma ... pid não será impresso.
-l
já filtra para ouvir. grep LISTEN
não ajudará além de ocultar duas linhas de informações do cabeçalho.
-t
: tcp,: -l
socket de escuta -p
,: mostra o nome do pid e do programa,: -n
imprime em 127.0.0.1:80
vez de localhost:http
. Referência: linux.die.net/man/8/netstat
netstat
comsudo apt-get install net-tools
sudo netstat --tcp --listening --programs --numeric
. Não há necessidade de usar, a grep
menos que você queira eliminar os cabeçalhos das colunas.
Outras boas maneiras de descobrir quais portas estão listando e quais são suas regras de firewall:
sudo netstat -tulpn
sudo ufw status
nmap
novamente, a usabilidade de netstat
é uma porcaria.
Para listar portas abertas, use o netstat
comando
Por exemplo:
$ sudo netstat -tulpn | grep LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 5452/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1037/cupsd
tcp6 0 0 ::1:631 :::* LISTEN 1037/cupsd
No exemplo acima, três serviços estão vinculados ao endereço de loopback.
Os serviços IPv4 vinculados ao endereço de loopback "127.0.0.1" estão disponíveis apenas na máquina local. O endereço de loopback equivalente para IPv6 é ":: 1". O endereço IPv4 "0.0.0.0" significa "qualquer endereço IP", o que significa que outras máquinas podem se conectar a qualquer uma das interfaces de rede configuradas localmente na porta específica.
Outro método é usar o lsof
comando:
$ sudo lsof -nP -i | grep LISTEN
cupsd 1037 root 9u IPv6 11276 0t0 TCP [::1]:631 (LISTEN)
cupsd 1037 root 10u IPv4 11277 0t0 TCP 127.0.0.1:631 (LISTEN)
dnsmasq 5452 nobody 5u IPv4 212707 0t0 TCP 127.0.0.1:53 (LISTEN)
Para mais detalhes, consulte man netstat
ou man lsof
.
-l
opção era listar LISTEN
portas. Então o grep seria supérfluo aqui ?!
Isso é suficiente para mostrar que há um processo atendendo no endereço IP 0.0.0.0
(necessário para responder a qualquer solicitação) na porta 80 (número da porta padrão do servidor da web). No meu caso, isso mostra que é o servidor weblighttpd
$ sudo netstat -ntlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2495/lighttpd
Se você quiser mais tarde certificar-se de que a única coisa que você permite através do firewall é a porta 80, geralmente uso o ShieldsUp do www.grc.com para realizar um teste de firewall.
sudo iptables -L
irá listar as regras de porta para o seu PC. Observe que, se você estiver usando firewalls ufw ou shorewall, talvez seja difícil ler a saída. Nesse caso, use, sudo ufw status
por exemplo.
Isso não é muito útil por si só, pois mesmo que uma porta esteja aberta, o acesso ainda será negado se não houver processo atendendo nessa porta.
Se você procura monitoramento contínuo de portas para máquinas servidores ou locais, acho que também pode usar a versão gráfica do nmap, ou seja, o Zenmap para uma versão mais detalhada
O Zenmap é a interface gráfica oficial do usuário (GUI) do Nmap Security Scanner.
Suporte disponível (Linux, Windows, Mac OS X, BSD, etc.)
Veja esta visualização da ferramenta:
nmap localhost
funcionou muito bem.