15 Ejemplos de comando de SockStat 'útiles' para encontrar puertos abiertos en FreeBSD

15 Ejemplos de comando de SockStat 'útiles' para encontrar puertos abiertos en FreeBSD

Stockstat es una utilidad de línea de comandos versátil utilizada para mostrar la red y los enchufes abiertos en FreeBSD. Principalmente, el comando SockStat se instala de forma predeterminada en FreeBSD y se usa comúnmente para mostrar el nombre de los procesos que abrieron cierto puerto de red en un sistema FreeBSD.

Sin embargo, stockstat También puede enumerar los enchufes abiertos basados ​​en la versión de protocolo (ambas versiones IP), en el estado de la conexión y en qué puertos se une un demonio o un programa y escucha.

Leer también: 20 ejemplos útiles de comando 'netstat' para verificar las conexiones de red

También puede mostrar enchufes de comunicación entre procesos, típicamente conocidos como enchufes de dominio UNIX o IPC. El comando SockStat combinado con el filtro GREP o la utilidad AWK demuestra ser una herramienta poderosa para la pila de redes locales.

Puede reducir los resultados de una conexión abierta basada en el usuario que posee el socket, el descriptor de archivo de un socket de red o el PID del proceso que abrió el socket.

En esta guía, enumeraremos algunos ejemplos de utilización comunes, pero también muy potentes, de la utilidad de redes de línea de comandos de SockStat en FreeBSD.

Requisitos

  1. FreeBSD 11.1 Guía de instalación

1. Lista todos los puertos abiertos en FreeBSD

Simplemente ejecutado sin ninguna opción o interruptor, el comando SockStat mostrará todos los enchufes abiertos en un sistema FreeBSD, como se ilustra en la siguiente captura de pantalla.

# Stockstat 
Mostrar puertos de red en FreeBSD

Los valores que se muestran en la salida SockStat se describen como:

  • USUARIO : El propietario (cuenta de usuario) del socket.
  • DOMINIO : El comando que se abrió el socket.
  • Pid : La identificación del proceso del comando que posee el socket.
  • Fd : El número de descriptor del archivo del socket.
  • Proto : El protocolo de transporte (generalmente TCP/UDP) asociado con el tipo de enchufe o enchufe abierto en caso de enchufes de dominio UNIX (datagrama, transmisión o SEQPAC) para enchufes UNIX.
  • DIRECCIÓN LOCAL : Representa la dirección IP local para enchufes basados ​​en IP. En el caso de los enchufes Unix, representa el nombre de archivo de punto final conectado al socket. El "??" La notación implica que el punto final del socket no se puede reconocer ni establecer.
  • DIRECCIÓN EN EL EXTRANJERO : La dirección IP remota donde está conectado el socket.

2. Lista de escuchas o puertos abiertos en FreeBSD

Ejecutado con el -l Bandera, el comando SockStat mostrará todos los enchufes escuchados abiertos en la pila de redes y todos abrieron enchufes de dominio UNIX o tuberías con nombre involucrados en algún tipo de procesamiento de datos locales en el sistema.

# sockstat -l 
Lista de puertos de red abiertos

3. Lista de puertos abiertos IPv4 en FreeBSD

Para mostrar todos los enchufes abiertos para IPv4 solo protocolo, emita el comando con el -4 bandera, como se sugiere en el siguiente ejemplo.

# Sockstat -4 
Lista de puertos abiertos IPv4 en FreeBSD

4. Lista de puertos abiertos IPv6 en FreeBSD

Similar a la versión IPv4, también puede mostrar los enchufes de red abiertos para IPv6 solo, emitiendo el comando como se muestra a continuación.

# Sockstat -6 
Lista de puertos abiertos IPv6

5. Lista de puertos abiertos TCP o UDP en FreeBSD

Para mostrar enchufes de red basados ​​solo en un protocolo de red especificado, como TCP o UDP, utilizar el -PAG bandera, seguido del nombre del argumento del protocolo.

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

Mostrar solo los enchufes TCP
# sockstat -p tcp 
Lista de puertos abiertos TCP TCP
Mostrar solo los enchufes UDP
# sockstat -p udp 
Lista de puertos abiertos UDP UDP

Cadena ambos protocolos.

# sockstat -p tcp, udp 

6. Lista de números de puerto específicos de TCP y UDP

Si desea mostrar todos los sockets abiertos TCP o UDP IP, según el número de puerto local o remoto, use los indicadores de comando y la sintaxis a continuación, como se ilustra en la captura de pantalla a continuación.

# SockStat -P TCP -P 443 [Show TCP Https Port] # SockStat -P UDP -P 53 [Show UDP DNS Port] # SockStat -P TCP -P 443,53,80,21 [Mostrar TCP y UDP] 
Lista de puerto TCP específico

7. Lista de puertos abiertos y conectados en FreeBSD

Para mostrar todos los enchufes abiertos y conectados, use el -C bandera. Como se muestra en las muestras a continuación, puede enumerar todo Https enchufes conectados o todos los enchufes conectados TCP emitiendo los comandos.

# sockstat -p tcp -p 443 -c # sockstat -p tcp -c 
Lista de puertos abiertos y conectados

8. Lista de puertos de escucha de red en FreeBSD

Para enumerar todos los enchufes TCP en estado de escucha, agregar el -l y -s banderas, como se muestra en el siguiente ejemplo. Al ser un protocolo sin conexión, UDP no mantiene información sobre el estado de la conexión.

Los sockets abiertos UDP no se pueden mostrar utilizando su estado, porque el protocolo UDP usa datagramas para enviar/recibir datos y no tiene un mecanismo incorporado para determinar el estado de la conexión.

# sockstat -46 -l -s 
Lista de puertos de escucha de red

9. Lista de enchufes Unix y tuberías con nombre

Los enchufes de dominio UNIX, así como otras formas de comunicación interprocesada local, como tuberías con nombre, pueden mostrarse mediante el comando SockStat utilizando el -u bandera, como se muestra en la imagen a continuación.

# Sockstat -u 
Lista de enchufes Unix

10. Puertos de lista abiertos por aplicación en FreeBSD

La salida del comando de SockStat se puede filtrar a través de la utilidad GREP para mostrar una lista de puertos abierto por una aplicación o comando específico.

Supongamos que desea enumerar todos los enchufes asociados con Nginx servidor web, puede emitir el siguiente comando para lograr la tarea.

# SockStat -46 | grep nginx 
Lista de enchufes de escucha de la aplicación

Para mostrar solo los enchufes conectados asociados con el servidor web NGINX, emita el siguiente comando.

# SockStat -46 -C | grep nginx 

11. Lista de protocolos conectados HTTPS

Puede enumerar todos los enchufes conectados asociados con Https Protocolo junto con el estado de cada conexión ejecutando el siguiente comando.

# sockstat -46 -s -p tcp -p 443 -c 
Lista de protocolos conectados HTTPS

12. Lista de enchufes remotos HTTP

Para enumerar todos los enchufes remotos asociados con el protocolo HTTP, puede ejecutar una de las siguientes combinaciones de comando.

# SockStat -46 -C | EGREP '80 | 443 '| Awk 'imprimir $ 7' | uniq -c | ordenar -nr # sockstat -46 -c -p 80,443 | GREP -V DIRECCIÓN | AWK 'Imprimir $ 7' | uniq -c | ordenar -nr 
Lista de protocolos HTTP remotos

13. Encuentre las solicitudes HTTP más altas mediante direcciones IP

En caso de que desee encontrar cuántas conexiones HTTP solicitan cada dirección IP remota, emita el siguiente comando. Este comando puede ser muy útil en caso de que desee determinar si su servidor web está bajo algún tipo de ataque DDoS. En caso de sospechas, debe investigar las direcciones IP con la tasa de solicitud más alta.

# SockStat -46 -C | EGREP '80 | 443 '| Awk 'imprimir $ 7' | CUT -D: -F1 | uniq -c | ordenar -nr 

14. Lista de enchufes abiertos DNS

Si ha configurado un servidor DNS de almacenamiento en caché y reenvío en sus instalaciones para servir a clientes internos a través del protocolo de transporte TCP y desea mostrar una lista de todos los enchufes
abierto por el resolución, junto con el estado de cada conexión de socket, ejecute el siguiente comando.

# sockstat -46 -p tcp -p 53 -s 
Lista de enchufes abiertos DNS

15. Consulta TCP DNS en dominio local

Si no hay tráfico DNS en la red, puede activar manualmente una consulta DNS en el enchufe TCP desde la consola de la máquina local ejecutando el siguiente comando DIG. Posteriormente, emita el comando anterior para enumerar todos los enchufes de resolución.

# DIG +TCP www.dominio.com @127.0.0.1 
Consulta TCP DNS en local

Eso es todo! Junto con las utilidades de la línea de comandos NetStat y LSOF, SockStat Command Line es una poderosa utilidad utilizada para adquirir información de red y solucionar múltiples aspectos de la pila de redes FreeBSD y procesos y servicios relacionados con las redes.

La contraparte del comando FreeBSD SockStat en Linux está representada por el netstat o el recién ss dominio. Lo creas o no, basado en SockStat Utility, puede encontrar una aplicación similar desarrollada para el sistema operativo Android, llamado SockStat - Simple NetStat GUI.