visualizar_sockets_en_entornos_docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
visualizar_sockets_en_entornos_docker [2023/10/19 23:13] – created busindrevisualizar_sockets_en_entornos_docker [2023/10/19 23:16] (current) – [Listar los sockets / conexiones usadas en entornos Docker] busindre
Line 1: Line 1:
-===== Listar los sockets / conexiones usadas en entornos Docker  =====+====== Listar los sockets / conexiones usadas en entornos Docker  ======
  
-El funcionamiento de docker se basa en el uso de espacios de nombres y reglas de firewall. Con los comandos nsenter y contrack es por tanto factible encontrar las conexiones que un host con docker ha establecido, ya sean internas o externas.+El funcionamiento de docker se basa en el uso de espacios de nombres y reglas de iptables/netfilter. Con los comandos **nsenter** **contrack** es por tanto factible encontrar las conexiones que un host con docker ha establecido, ya sean internas o externas.
  
 ===== nsenter ===== ===== nsenter =====
Line 7: Line 7:
 Este comando recorre todos los namespace de los contenedores para buscar, en este caso mediante "netstat -putan" sus sockets. Por supuesto podría usarse cualquier otro comando para obtener información sobre el proceso, por ejemplo lsof y averiguar qué ficheros tiene abiertos. Este comando recorre todos los namespace de los contenedores para buscar, en este caso mediante "netstat -putan" sus sockets. Por supuesto podría usarse cualquier otro comando para obtener información sobre el proceso, por ejemplo lsof y averiguar qué ficheros tiene abiertos.
  
-<code bash> # Analiza todos los contenedores del host +<code bash> # Analiza el espacios de nombres de todos los contenedores del host 
-for i in `docker ps -q` ; do sudo nsenter -t $(docker inspect -f '{{.State.Pid}}' $i) -n netstat -putan ; done +for i in `docker ps -q` ; do sudo nsenter -t $(docker inspect -f '{{.State.Pid}}' $i) -n netstat -putan ; done 
 # Analiza un solo contenedor: Se puede usar el ID o el nombre, # Analiza un solo contenedor: Se puede usar el ID o el nombre,
 docker inspect -f '{{.State.Pid}}' XXXX docker inspect -f '{{.State.Pid}}' XXXX
Line 15: Line 16:
 ===== conntrack ===== ===== conntrack =====
  
-Si se quiere obtener todavía más información o información no mostrada por el método anterior, se puede hacer uso de conntrack-tools para consultar a iptables. Dependiendo de la versión de Docker y como se configure el entorno, no todas las conexiones que se listen en los conenedores serán todas las existentes. Esto se debe a que se delegan ciertas tareas a iptables, que a su vez implementa NAT/SNAT.+Si se quiere obtener todavía más información o información no mostrada por el método anterior, se puede hacer uso de conntrack-tools para consultar a iptables. Dependiendo de la versión de Docker y como se configure el entorno, no todas las conexiones que se listen en los contenedores serán todas las existentes. Esto se debe a que se delegan ciertas tareas a iptables, que a su vez implementa NAT/SNAT.
  
 <code bash>conntrack -L     # Muestra las conexiones del firewall <code bash>conntrack -L     # Muestra las conexiones del firewall
visualizar_sockets_en_entornos_docker.1697750039.txt.gz · Last modified: 2023/10/19 23:13 by busindre