Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:python_avanzado_proyectos_seguridad:introduccion_sockets

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:cursos:python_avanzado_proyectos_seguridad:introduccion_sockets [2024/11/11 16:08] tempwininformatica:programacion:cursos:python_avanzado_proyectos_seguridad:introduccion_sockets [2024/11/18 08:28] (actual) – [Módulo socket en Python] tempwin
Línea 1: Línea 1:
 ====== Introducción a los sockets ====== ====== Introducción a los sockets ======
  
 +<WRAP center round box 80%>
 Módulo perteneciente al curso [[informatica:programacion:cursos:python_avanzado_proyectos_seguridad|Python avanzado para proyectos de seguridad]] Módulo perteneciente al curso [[informatica:programacion:cursos:python_avanzado_proyectos_seguridad|Python avanzado para proyectos de seguridad]]
 +</WRAP>
  
 Los sockets son el componente principal que nos permite aprovechar las capacidades del sistema operativo para interactuar con la red. Puede pensar en los sockets como un canal de comunicación punto a punto entre un cliente y un servidor. Los sockets son el componente principal que nos permite aprovechar las capacidades del sistema operativo para interactuar con la red. Puede pensar en los sockets como un canal de comunicación punto a punto entre un cliente y un servidor.
  
-Los sockets de red son una manera fácil de establecer una comunicación entre procesos que están en la misma máquina o en máquinas diferentes. El concepto de un socket es muy similar al de los descriptores de archivos UNIX. Los comandos como read() y write() que nos permiten trabajar con el sistema de archivos, funcionan de manera similar a los sockets. Una dirección de socket de red consta de una dirección IP y un número de puerto. El objetivo de un socket es comunicar procesos a través de la red.+Los sockets de red son una manera fácil de establecer una comunicación entre procesos que están en la misma máquina o en máquinas diferentes. El concepto de un socket es muy similar al de los descriptores de archivos UNIX. Los comandos como ''read()'' ''write()'' que nos permiten trabajar con el sistema de archivos, funcionan de manera similar a los sockets. Una dirección de socket de red consta de una dirección IP y un número de puerto. El objetivo de un socket es comunicar procesos a través de la red.
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Línea 25: Línea 27:
 Estos argumentos representan las familias de direcciones y el protocolo de la capa de transporte. Dependiendo del tipo de socket, los sockets se clasifican en sockets de flujo (''socket.SOCK_STREAM'') o sockets de datagramas (''socket.SOCK_DGRAM''), en función de si el servicio utiliza TCP o UDP. ''socket.SOCK_DGRAM'' se usa para comunicaciones UDP, y ''socket.SOCK_STREAM'' para conexiones TCP. Estos argumentos representan las familias de direcciones y el protocolo de la capa de transporte. Dependiendo del tipo de socket, los sockets se clasifican en sockets de flujo (''socket.SOCK_STREAM'') o sockets de datagramas (''socket.SOCK_DGRAM''), en función de si el servicio utiliza TCP o UDP. ''socket.SOCK_DGRAM'' se usa para comunicaciones UDP, y ''socket.SOCK_STREAM'' para conexiones TCP.
  
-Los sockets también se pueden clasificar según la familia. Tenemos sockets UNIX (socket.AF_UNIX) que se crearon antes de la concepción de las redes y se basan en ficheros, sockets socket.AF_INET que son los que nos interesan, sockets socket.AF_INET6 para IPv6, etc.+Los sockets también se pueden clasificar según la familia. Tenemos sockets UNIX (''socket.AF_UNIX'') que se crearon antes de la concepción de las redes y se basan en ficheros, sockets ''socket.AF_INET'' que son los que nos interesan, sockets ''socket.AF_INET6'' para IPv6, etc.
  
 En la siguiente imagen vemos el constructor de la clase socket: En la siguiente imagen vemos el constructor de la clase socket:
  
-<WRAP center round important 60%> +{{ :informatica:programacion:cursos:python_avanzado_proyectos_seguridad:socket_constructor.png |}}
-IMAAAAAAAAAAAAAAAAAAAAGEN +
-</WRAP>+
  
 ===== Módulo socket en Python ===== ===== Módulo socket en Python =====
Línea 47: Línea 47:
 </code> </code>
  
-<WRAP center round important 60%> +{{ :informatica:programacion:cursos:python_avanzado_proyectos_seguridad:socket_ayuda.png |}}
-IMAAAAAAAAAAAAAAAAAAAAAAAAAGEN +
-</WRAP>+
  
 En esta imagen vemos todas las constantes y métodos que tenemos disponibles en este módulo. Las constantes las vemos en primera instancia dentro de la estructura que ha devuelto el objeto. Entre las constantes más utilizadas podemos destacar: En esta imagen vemos todas las constantes y métodos que tenemos disponibles en este módulo. Las constantes las vemos en primera instancia dentro de la estructura que ha devuelto el objeto. Entre las constantes más utilizadas podemos destacar:
Línea 58: Línea 56:
 Para abrir un socket en una determinada máquina utilizamos el constructor de la clase socket que acepta por parámetros la familia, el tipo de socket y el protocolo. Una llamada típica para construir un socket que funcione a nivel TCP&nbsp;es pasando como parámetros la familia y el tipo de socket: Para abrir un socket en una determinada máquina utilizamos el constructor de la clase socket que acepta por parámetros la familia, el tipo de socket y el protocolo. Una llamada típica para construir un socket que funcione a nivel TCP&nbsp;es pasando como parámetros la familia y el tipo de socket:
  
-<WRAP center round important 60%> +{{ :informatica:programacion:cursos:python_avanzado_proyectos_seguridad:init_socket.png |}}
-IMAAAAAAAAAAAAAAAAAAAAAAAGEN +
-</WRAP> +
  
 <code python> <code python>
 Socket.socket(socket.AF_INET,socket.SOCK_STREAM) Socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 </code> </code>
- 
- 
 ===== Recursos ===== ===== Recursos =====
  
   * [[https://wiki.python.org/moin/HowTo/Sockets|HowTo de programación de sockets]]   * [[https://wiki.python.org/moin/HowTo/Sockets|HowTo de programación de sockets]]
   * [[https://docs.python.org/3/library/socket.html|Documentación del módulo socket]]   * [[https://docs.python.org/3/library/socket.html|Documentación del módulo socket]]
informatica/programacion/cursos/python_avanzado_proyectos_seguridad/introduccion_sockets.1731337732.txt.gz · Última modificación: por tempwin