GNU/Linux >> Tutoriales Linux >  >> FreeBSD

15 ‘Ejemplos de comandos de Sockstat’ útiles para encontrar puertos abiertos en FreeBSD

Calcetines es una utilidad de línea de comandos versátil que se utiliza para mostrar sockets abiertos de red y sistema en FreeBSD. Principalmente, el comando sockstat se instala de manera predeterminada en FreeBSD y se usa comúnmente para mostrar el nombre de los procesos que abrieron un determinado puerto de red en un sistema FreeBSD.

Sin embargo, sockstat también puede enumerar los sockets abiertos según la versión del protocolo (ambas versiones de IP), el estado de la conexión y los puertos a los que se une y escucha un demonio o un programa.

Lea también :20 ejemplos útiles de comandos 'netstat' para comprobar las conexiones de red

También puede mostrar sockets de comunicación entre procesos, generalmente conocidos como sockets de dominio Unix o IPC. El comando Sockstat combinado con el filtro grep o canalizado a través de la utilidad awk demuestra ser una herramienta poderosa para la pila de redes locales.

Puede reducir los resultados de una conexión abierta en función del usuario propietario del 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 uso comunes, pero también muy potentes, de la utilidad de red de línea de comando de calcetines en FreeBSD.

Requisitos

  1. Guía de instalación de FreeBSD 11.1

1. Listar todos los puertos abiertos en FreeBSD

Ejecutado simplemente sin opciones ni interruptores, el comando sockstat mostrará todos los sockets abiertos en un sistema FreeBSD, como se ilustra en la siguiente captura de pantalla.

# sockstat

Los valores que se muestran en la salida de sockstat se describen como:

  • USUARIO :El propietario (cuenta de usuario) del socket.
  • MANDO :El comando que abrió el socket.
  • PID :El ID de proceso del comando que posee el socket.
  • FD :El número del descriptor de archivo del socket.
  • PROTO :El protocolo de transporte (generalmente TCP/UDP) asociado con el socket abierto o tipo de socket en el caso de sockets de dominio unix (datagram, stream o seqpac) para sockets UNIX.
  • DIRECCIÓN LOCAL :Representa la dirección IP local para sockets basados ​​en IP. En el caso de los sockets de Unix, representa el nombre de archivo del punto final adjunto al socket. El “??” La notación implica que el extremo del socket no pudo ser reconocido o establecido.
  • DIRECCIÓN EN EL EXTRANJERO :La dirección IP remota a la que está conectado el socket.

2. Lista de puertos abiertos o en escucha en FreeBSD

Ejecutado con -l flag, el comando sockstat mostrará todos los sockets de escucha abiertos en la pila de red y todos los sockets de dominio Unix abiertos o canalizaciones con nombre involucradas en algún tipo de procesamiento de datos local en el sistema.

# sockstat -l

3. Lista de puertos abiertos IPv4 en FreeBSD

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

# sockstat -4

4. Lista de puertos abiertos IPv6 en FreeBSD

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

# sockstat -6

5. Lista de puertos abiertos TCP o UDP en FreeBSD

Para mostrar sockets de red basados ​​solo en un protocolo de red específico, como TCP o UDP , use el -P indicador, seguido del nombre del argumento del protocolo.

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

Mostrar solo sockets TCP
# sockstat -P tcp
Mostrar solo sockets UDP
# sockstat -P udp

Encadene 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, en función del número de puerto local o remoto, utilice los indicadores y la sintaxis de los siguientes comandos, como se ilustra en la siguiente captura de pantalla.

# 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    [Show Both TCP and UDP]

7. Lista de puertos abiertos y conectados en FreeBSD

Para mostrar todos los enchufes abiertos y conectados, use -c bandera. Como se muestra en los ejemplos a continuación, puede enumerar todos los HTTPS sockets conectados o todos los sockets TCP conectados emitiendo los comandos.

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

8. Lista de puertos de escucha de red en FreeBSD

Para enumerar todos los sockets TCP abiertos en estado de escucha, agregue -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 de UDP no se pueden mostrar usando 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

9. Lista de sockets Unix y canalizaciones con nombre

Los sockets de dominio de Unix, así como otras formas de comunicación local entre procesos, como canalizaciones con nombre, se pueden mostrar mediante el comando sockstat utilizando -u bandera, como se muestra en la imagen de abajo.

# sockstat -u

10. Lista de puertos abiertos por aplicación en FreeBSD

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

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

# sockstat -46 | grep nginx

Para mostrar solo los sockets conectados asociados con el servidor web Nginx, emita el siguiente comando.

# sockstat -46 -c| grep nginx

11. Lista de protocolos conectados a HTTPS

Puede enumerar todos los sockets 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

12. Lista de sockets remotos HTTP

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

# sockstat -46 -c | egrep '80|443' | awk '{print $7}' | uniq -c | sort -nr
# sockstat -46 -c -p 80,443 | grep -v ADDRESS|awk '{print $7}' | uniq -c | sort -nr

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

En caso de que desee averiguar cuántas conexiones HTTP solicita 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 '{print $7}' | cut -d: -f1 | uniq -c | sort –nr

14. Lista de sockets abiertos de DNS

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

# sockstat -46 -P tcp –p 53 -s

15. Consulta DNS TCP en dominio local

Si no hay tráfico de DNS en la red, puede activar manualmente una consulta de DNS en el socket TCP desde la consola de la máquina local ejecutando el siguiente comando de excavación. Luego, emita el comando anterior para listar todos los sockets de resolución.

# dig +tcp  www.domain.com  @127.0.0.1

¡Eso es todo! Junto con las utilidades de línea de comandos netstat y lsof, la línea de comandos sockstat es una poderosa utilidad utilizada para adquirir información de red y solucionar problemas de múltiples aspectos de la pila de redes de FreeBSD y los procesos y servicios relacionados con las redes.

La contrapartida del comando de FreeBSD sockstat en Linux está representada por netstat o el nuevo ss dominio. Lo crea o no, según la utilidad de sockstat, puede encontrar una aplicación similar desarrollada para el sistema operativo Android, llamada SockStat:GUI simple de Netstat.


FreeBSD
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. 25 ejemplos prácticos útiles del comando find en Linux

  3. 23 ejemplos útiles de comandos PKG para administrar paquetes en FreeBSD

  4. 5 ejemplos útiles del comando firewall-cmd

  5. 7 ejemplos útiles de comandos de búsqueda para localizar archivos para eliminar cuando un sistema de archivos está lleno

11 ejemplos útiles de comandos de fecha de Linux

Ejemplos útiles de comandos Wget en el sistema Linux

50 ejemplos simples y útiles del comando Buscar en Linux

15 ejemplos útiles de comandos táctiles en el sistema Linux

15 ejemplos súper útiles del comando Buscar en Linux

12 ejemplos útiles de comandos de fecha de Linux