Cargando



Encontrar puertos abiertos en FreeBSD comando Sockstat

Cómo listar puertos abiertos en FreeBSD usando el comando Sockstat gestionando así la red a través de un puerto.


oct 04 2017 18:28
Avanzado
Total de Apartados : 10

Cuando trabajamos con ambientes FreeBSD es importante conocer en detalle cómo podemos obtener información básica, o avanzada, de determinados parámetros del sistema y de sus componentes.

 

Una de estas tareas implica conocer qué puertos tenemos abiertos actualmente en el sistema debido a que el tener un puerto abierto, el cual no debería estarlo, implica una vulnerabilidad de seguridad al estar listo para sufrir un ataque desde allí.

 

Solvetic analizará hoy un comandoespecial llamado sockstat el cual es vital para controlar supervisar y gestionar los puertos en FreeBSD.

 

Qué es Sockstat
Sockstat es una utilidad de línea de comandos la cual se usa para mostrar la red y los sockets abiertos en entornos FreeBSD. Principalmente, el comando sockstat se instala de forma predeterminada en FreeBSD y normalmente es usado para mostrar el nombre de los procesos que abrieron un determinado puerto de red en FreeBSD.

 

El comando sockstat también puede listar sockets abiertos basados ​​en la versión de protocolo (ambas versiones de IP), el estado de la conexión y en qué puertos un daemon o un programa se enlaza y escucha permitiéndonos llevar un control mucho más preciso sobre todo.

 

Con sockstat también será posible mostrar sockets de comunicación entre procesos, conocidos como sockets de dominio Unix o IPC. El comando Sockstat combinado con el filtro grep o con la utilidad awk a través de la canalización resulta ser una herramienta potente para la gestión de redes locales.

 

Sera posible reducir los resultados de una conexión abierta basada en el usuario propietario del socket, el descriptor de archivo de un socket de red o el PID del proceso que abrió el socket permitiendo un control mucho más directo.

 

 


1. Listar todos los puertos abiertos en FreeBSD


A continuación veremos algunos de las opciones más prácticas para usar sockstat en FreeBSD.
Simplemente con ejecutar sockstat sin ninguna opción o parámetro, el comando sockstat mostrará todos los sockets abiertos en un sistema FreeBSD.

 

1-Listar-todos-los-puertos-abiertos-en-FreeBSD.png

 

 

Paso 2

Allí podemos ver en detalle elementos como:

 

USER
El propietario (cuenta de usuario) del socket.

 

COMMAND
El comando que abrió el socket.

 

PID
ID del proceso del comando que posee el socket.

 

FD
El número de descriptor de archivo del socket.

 

PROTO
El protocolo de transporte (normalmente TCP / UDP) asociado con el socket abierto o el tipo de socket en el caso de sockets de dominio Unix (datagrama, stream o seqpac) para sockets UNIX.

 

LOCAL ADDRESS
Representa la dirección IP local para los sockets basados en IP. En el caso de los sockets Unix, representa el nombre de archivo del punto final conectado al socket. La notación "??" implica que el punto final del socket no puede ser reconocido o establecido.

 

FOREIGN ADDRESS
La dirección IP remota a la que está conectado el conector.

 

 

 

 


2. Listar o abrir puertos en FreeBSD


Al ejecutarse con el parámetro -l, el comando sockstat desplegara todos los sockets de escucha abiertos en la red y todos los sockets de dominio Unix abiertos o las canalizaciones con nombre involucradas en algún tipo de procesamiento de datos local en el sistema.
sockstat -l

2-Listar-o-abrir-puertos-en-FreeBSD.png

 

 


3. Listar puertos abiertos IPv4 en FreeBSD


Si deseamos desplegar todos los sockets abiertos sólo para el protocolo IPv4 debemos ejecutar lo siguiente con el parámetro -4:
sockstat -4

3-Listar-puertos-abiertos-IPv4.png

 

 


4. Listar puertos abiertos IPv6 en FreeBSD


Por el contrario, si deseamos desplegar todos los sockets abiertos sólo para el protocolo IPv6 debemos ejecutar lo siguiente con el parámetro -6:
sockstat -6

4-Listar-puertos-abiertos-IPv6.png

 

 


5. Listar puertos TCP o UDP abiertos en FreeBSD


Con sockstat será posible desplegar sockets de red basados únicamente en un protocolo de red especificado, como TCP o UDP, y para ello usaremos el indicador -P seguido del nombre del argumento del protocolo.

 

Los nombres de protocolo se pueden encontrar inspeccionando el contenido del archivo / etc/protocols. Actualmente, el protocolo ICMP no es compatible con la herramienta sockstat.

 

Paso 1

Si deseamos ver los puertos TCP ejecutaremos lo siguiente:
sockstat -P tcp

5-ver-los-puertos-TCP-UDP.png

 

Paso 2

Para listar los puertos UDP ejecutaremos:
sockstat -P udp

6-listar-los-puertos-UDP.png

 

Paso 3

Si deseamos listar ambos ejecutaremos lo siguiente:
sockstat –P tcp,udp

7-ver-los-puertos-TCP-UDP.png

 

 

 


6. Lista de puertos específicos de TCP y UDP en FreeBSD


Si deseamos mostrar todos los sockets abiertos IP de TCP o UDP, basados en el número de puerto local o remoto, podremos usar los indicadores de comando y sintaxis siguientes:
sockstat -P tcp -p 443 [Despliega los puertos TCP HTTPS]
sockstat -P udp -p 53 [Despliega los puertos UDP DNS]
sockstat -P tcp -p 443,53,80,21 [Despliega los puertos TCP y UDP]

7. Lista de puertos abiertos y conectados en FreeBSD

 

Para desplegar todos los sockets abiertos y conectados, utilice el indicador -c. Sera posible enumerar todos los sockets conectados por HTTPS o todos los sockets TCP conectados.

sockstat -P tcp -p 443 -c
sockstat -P tcp -c

8. Lista de puertos de escucha en red en FreeBSD

 

Para desplegar todos los sockets TCP abiertos en estado de escucha, debemos usar los parámetros -l y -s, siendo un protocolo sin conexión, UDP no mantiene información sobre el estado de la conexión.
Los sockets abiertos UDP no se pueden desplegar usando su estado, porque el protocolo udp utiliza datagramas para enviar y recibir datos y no tiene ningún mecanismo de integración para determinar el estado de la conexión.

sockstat -46 -l -s

8-Lista-de-puertos-de-escucha-en-red-en-FreeBSD.png

 


9. Listar puertos UNIX en FreeBSD


Todos los sockets de dominio Unix, al igual que otras formas de comunicación de interproceso local, como las canalizaciones con nombre, pueden desplegarse mediante el comando sockstat usando el parámetro -u:
sockstat -u

9-Listar-puertos-UNIX.png

 

 


10. Listar puertos por aplicación en FreeBSD

 

Los resultados del comando Sockstat pueden ser filtrados a través de la utilidad grep para mostrar una lista de puertos abiertos por una aplicación o comando específico.
La sintaxis a usar es la siguiente:

sockstat -46 | grep (aplicación)

10-Listar-puertos-por-aplicación-en-FreeBSD.png

 

 

Con estos comandos tendremos oportunidad de conocer más en detalle los puertos abiertos en FreeBSD y así controlar mucho mejor este aspecto.

 

Aquí tienes la forma de comprobar los puertos abiertos o cerrados con comandos en sistemas Linux (Ubuntu, Debian, Fedora y CentOS).


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X