Saber que portos están en uso nun sistema é unha tarefa básica para calquera administrador. Desde a configuración de interfaces ata a protección contra intrusos e pasando por calquera solución de problemas que poidamos imaxinar, debemos ser capaces de comprobar se un porto está a proporcionar algún tipo de servizo no noso entorno.
Imaxina a situación na que instalaches o servizo de impresión CUPS no teu sistema e non sabes se o servizo comezou correctamente e elevou o seu correspondente porto 631 ou o seu opcional 515. Nesta guía mostrarémosche tres comandos básicos para detectar os portos empregados por un sistema e cal é o seu estado.
A continuación revisaremos 3 comandos básicos que son especialmente útiles na administración de calquera sistema. É aproximadamente lsof, netstat e nmap, utilidades que executaremos desde a consola do terminal e con privilexios de root.
Índice
Lsof comando
O comando lsof é o máis básico de cantos che prestamos e, sendo natural de Linux, a base que todos os usuarios deben coñecer. Para coñecer os portos abertos no sistema a través deste comando, debes introducir unha secuencia como a seguinte, que amosarache diversa información onde destacaremos: o nome da aplicación (por exemplo, sshd), o socket do programa (neste caso a dirección IP 10.86.128.138 asociada ao porto 22 que está ESCOITANDO) e o identificador do proceso (que sería 85379).
$ sudo lsof -i -P -n $ sudo lsof -i -P -n | grep LISTEN

Comando Netstat
O comando netstat varía lixeiramente na súa sintaxe con respecto á anterior pero presenta algunhas parámetros moito máis fáciles de memorizar grazas a unha sinxela palabra mnemotécnica. A partir de agora non esquezas a palabra puta, que se refire ás seguintes características:
- p: amosa as conexións para o protocolo especificado que poden ser TCP ou UDP.
- u: Lista todos os portos UDP.
- t: Lista todos os portos TCP.
- o: Mostra o temporizadores.
- n: amosa o número de porto.
- a: Mostra todas as conexións activas do sistema.
Así, introducindo o comando e filtrándoo cun tubo podemos obter información sobre un porto determinado.
$ netstat -putona | grep numero-de-puerto
Comando Nmap
Nmap É unha utilidade que nós permite realizar multitude de exploracións no noso sistema e un deles, o de portos abertos nos equipos. Para executalo debemos introducir unha secuencia do tipo nmap -sX -OY, tomando X o valor T ou U para a conexión TCP ou UDP respectivamente e o valor Y a dirección IP da nosa máquina (ou localhost en breve). Bota un ollo ao seguinte exemplo.
</pre> $ sudo nmap -sU -O localhost $ sudo nmap -sT -O 192.168.0.1 <pre>
Con estas tres aplicacións xa tes ferramentas suficientes para determinar os portos abertos da túa máquina. ¿Usa as mesmas ferramentas ou coñece algún outro xeito de verificar os portos abertos dun sistema?
5 comentarios, deixa os teus
Non entendo nada. Normal, non son especialista, pero é interesante 🙂
Ola bo día, como podo ver os datos que chegan a través dun porto?
Teño un dispositivo que por gprs me envía cadeas ao porto 10005 do meu ubuntu e necesito por terminal ver as cadeas que me están chegando, ¿podes apoiarme? Grazas. slds
Co comando netstat -putona observo que a dirección 127.0.0.1 aparece en dous protocolos tcp e upd, nos dous casos o porto 53. ¿É normal ou correcto? Casualmente teño problemas co escritorio dnsmasq e zimbra que non se levantan en Ubuntu 16.04.
Ao intentar comezar zimbra móstrame: a páxina 127.0.0.1 rexeitou a conexión.
Agradezo a túa axuda para unirte a esta comunidade.
Moi bo.
Só tes que engadir: Con ls podes coñecer a ruta do proceso e tamén hai outros comandos como ss ou fuser cos que podemos ver que proceso está a usar un porto.
Visto aquí: https://www.sysadmit.com/2018/06/linux-que-proceso-usa-un-puerto.html
Excelente, ben resumido e explicado, non me esquezo de PUTONA jeje. ;-D