Saltar la navegación

Monitoreos y Networking

Programación de Socket TCP

En UDP, el cliente no forma una conexión con el servidor como en TCP y solo envía un datagrama. Del mismo modo, el servidor no necesita aceptar una conexión y solo espera a que lleguen los datagramas. Los datagramas a la llegada contienen la dirección del remitente que el servidor utiliza para enviar datos al cliente correcto.

Figura. Diagrama TCP Cliente/Servidor

Antes de comenzar con el desarrollo de un Socket TCP y UDP debemos aclarar el funcionamiento de los mismos; Los sockets son una forma de comunicación entre procesos que se encuentran en diferentes máquinas de una red, los sockets proporcionan un punto de comunicación por el cual se puede enviar o recibir información entre procesos.

Los sockets tienen un ciclo de vida dependiendo si son sockets de servidor, que esperan a un cliente para establecer una comunicación, o socket cliente que busca a un socket de servidor para establecer la comunicación.

Este script mostrado a continuación realiza la conexión por medio del protocolo TCP a un puerto especifico de un host, en nuestro caso realizaremos la conexión a la web de Security Hack Labs por medio del puerto 80, normalmente en este puerto los servidores HTTP "escuchan" las peticiones de los clientes(nosotros), y realizaremos una petición GET del protocolo HTTP.

Haga Click para descargar el archivo

Socket UDP

Como ya sabemos, la conexión UDP no es orientada a conexión, es por ello que sólo envía la información, misma característica puede ser visible en el siguiente código:

Haga Click aquí para ir a el archivo

Obtención de IP de dominios

Puedes construir aplicaciones web con la ayuda de Python o puedes hacer algunas cosas de redes de seguridad. Todas estas cosas y más puedes hacer a través de Python.
A continuación podemos observar el como Python se puede aplicar nuestro conocimiento básico de Python en socket y redes. 

A continuación puede ver el código, así como su salida y de igual forma se encuentra una liga en linea para hacer pruebas con este código:

Liga de repl para pruebas

Jesus Fernando Daniel Tehozol