Bienvenidos a este capítulo de este Curso de Redes para Hackers – TCP y UDP. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como son las redes informáticas y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

Índice

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Diferencia entre TCP y UDP

Los protocolos son reglas que rigen cómo formatear los datos y enviarlos a través de una red. El Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP) son dos protocolos diferentes de la capa de transporte. Ambos realizan la misma tarea: transferir datos a través de Internet. 

Además, permiten que los dispositivos y servidores se comuniquen para que podamos navegar por páginas web, enviar correos electrónicos, jugar y ver Netflix. 

TCP y UDP realizan varias tareas en común, pero son bastante diferentes entre sí. TCP es un protocolo orientado a la conexión, mientras que UDP es parte del conjunto de protocolos de Internet, conocido como conjunto UDP/IP. Además, este último es comparativamente poco confiable y no tiene conexión. 

Echemos un vistazo más profundo a la diferencia entre los protocolos TCP y UDP con una comparación simple.

¿Qué es el Protocolo de Control de Transmisión (TCP)?

TCP, o Protocolo de Control de Transmisión , es un protocolo principal del conjunto de protocolos de Internet y se encuentra entre las capas de aplicación y red. Se utiliza para garantizar una comunicación confiable entre dos computadoras. Este protocolo orientado a la conexión se utiliza ampliamente en la red TCP/IP. Permite la comunicación que implica el intercambio de mensajes entre diferentes dispositivos a través de la red . 

Por ejemplo, si queremos descargar un archivo o ver una página web y no queremos que falte nada, entonces utilizamos TCP para hacerlo posible.

Es un protocolo ampliamente utilizado para la transmisión de datos en redes de comunicación como Internet. En una red, TCP es el método predeterminado de comunicación de datos entre diferentes dispositivos. 

Durante la transferencia de datos, establece y mantiene una conexión entre el remitente y el receptor. Con sus mecanismos, TCP garantiza que todos los paquetes de datos lleguen intactos. Se utiliza para servicios de correo electrónico y métodos de intercambio entre pares, como Secure Shell (SSH) y el Protocolo de transferencia de archivos (FTP).

Es un protocolo de capa de transporte que facilita la transmisión de paquetes desde el origen al destino. Como protocolo orientado a la conexión, establece la conexión antes de la comunicación entre los dispositivos informáticos de una red. Este protocolo se utiliza con un protocolo IP llamado modelo TCP IP .

La función principal del TCP es aceptar los datos de la capa de aplicación, dividirlos en varios paquetes, numerarlos y transmitirlos al destino. 

Por el contrario, el TCP reensambla los paquetes y los transfiere a la capa de aplicación. Como el TCP es un protocolo orientado a la conexión, la conexión permanece establecida hasta que no se complete la comunicación entre el emisor y el receptor.

¿Cómo funciona TCP?

Para garantizar que cada mensaje llegue intacto a su destino, el modelo TCP/IP divide los datos en pequeños paquetes y los vuelve a ensamblar para formar el mensaje original en el otro extremo. Enviar la información en pequeños paquetes es más sencillo para mantener la eficiencia que enviar todo en su totalidad.

Después de que un mensaje específico se divide en paquetes, estos paquetes viajan a lo largo de múltiples rutas si alguna de ellas está saturada, pero el destino sigue siendo el mismo. 

Consideremos un ejemplo: supongamos que un usuario solicita una página web en Internet; el servidor procesa la solicitud del usuario y le envía una página HTML. El servidor utiliza un protocolo llamado Protocolo HTTP. A continuación, el protocolo HTTP solicita a la capa TCP que establezca la conexión necesaria y envíe el archivo HTML. 

El TCP divide los datos o la información en pequeños paquetes y los reenvía a la capa IP (Protocolo de Internet). Luego, los paquetes se envían a la ubicación de destino a través de diferentes rutas. La capa TCP del sistema del usuario espera a que se complete la transmisión y confirma la recepción de todos los paquetes.

Características principales de TCP

  • Garantiza que los datos recibidos estén en orden y que no falte nada. Sin TCP/ los datos recibidos pueden estar desordenados o ser incorrectos.
  • Ayuda en la transferencia confiable de datos a través de un mecanismo de control de errores.
  • Realiza un seguimiento de los segmentos que se reciben o transfieren a través de una red asignando un número a cada segmento.
  • TCP está orientado a la conexión, lo que significa que las computadoras primero establecen una conexión y luego realizan la comunicación.
  • El control de flujo restringe la velocidad de transferencia de datos para garantizar una entrega confiable de datos.
  • Considera el nivel de congestión en la red.

Beneficios del protocolo TCP

  • Es una opción confiable para configurar y mantener la conexión entre un remitente y un receptor.
  • Admite protocolos de enrutamiento.
  • Optimiza el ritmo de transferencia de datos en función del receptor.
  • Asegura el envío de datos en una secuencia específica.
  • Sus operaciones son independientes del sistema operativo.
  • Comprueba que los datos no tengan errores y garantiza que lleguen a su destino sin cambios.
  • Confirma la llegada de los datos una vez entregados o intenta retransferirlos. 

Desventajas del protocolo TCP

  • No tiene categoría de multidifusión o difusión.
  • Es comparativamente más lento que UDP y utiliza más ancho de banda.
  • No es una opción adecuada para redes PAN y LAN.
  • Esto genera problemas a la hora de cargar la página completa si falta un solo dato en la página. Por ejemplo, no carga imágenes en la página web hasta que se hayan entregado todos los datos.
  • Es más lento al comienzo de una transferencia de archivos.
  • Si la red está congestionada, puede provocar que la velocidad de transferencia de datos sea más lenta.

Usos y aplicaciones del protocolo TCP

La mayoría de las transferencias de datos optan por la mejor opción de protocolo de forma automática, pero hay circunstancias en las que es posible que deba elegir un protocolo para mejorar la experiencia de navegación. Por ejemplo, al utilizar una VPN. TCP se utiliza en los siguientes casos:

  • Mandando correos electrónicos
  • buscando en la web
  • Transferencia de archivos entre dispositivos y aplicaciones
  • Administración de red o dispositivo remoto
  • Transmisión de contenidos en diferentes portales, como Netflix, HBO Max y Hulu.

Protocolo de enlace de tres vías TCP

Como se mencionó anteriormente, TCP es un protocolo basado en conexión . En otras palabras, antes de enviar datos a través de TCP , primero debe formar una conexión estable entre las dos computadoras. El proceso de formación de esta conexión se denomina apretón de manos de tres vías .

Cuando intenta realizar una conexión, su computadora primero envía una solicitud especial al servidor remoto indicando que desea iniciar una conexión. Esta solicitud contiene algo llamado bit SYN (abreviatura de sincronizar ), que esencialmente hace el primer contacto al iniciar el proceso de conexión. 

Luego, el servidor responderá con un paquete que contiene el bit SYN, así como otro bit de “reconocimiento”, llamado ACK .. Finalmente, su computadora enviará un paquete que contiene el bit ACK por sí mismo, lo que confirma que la conexión se ha configurado correctamente. 

Con el protocolo de enlace de tres vías completado con éxito, los datos se pueden transmitir de manera confiable entre las dos computadoras. Todos los datos que se pierden o dañan durante la transmisión se reenvían, lo que lleva a una conexión que parece no tener pérdidas.

El protocolo de enlace se refiere al establecimiento de la conexión entre el cliente y el servidor y es el proceso de establecer un vínculo de comunicación. Para transmitir un paquete, TCP necesita un protocolo de enlace de tres vías antes de enviar datos. 

PAR (retransmisión de acuse de recibo positivo)

PAR (retransmisión de acuse de recibo positivo) es una comunicación confiable en TCP. Siempre que un emisor transfiere datos al receptor, espera un acuse de recibo positivo del extremo del receptor que confirme la llegada de los datos. 

Si el acuse de recibo no llega al remitente, este debe reenviar esos datos. El acuse de recibo positivo del receptor establece una conexión exitosa.

El servidor no es otro que el propio servidor, y el cliente es el receptor. Un protocolo de enlace TCP 3 necesita la respuesta tanto del cliente como del servidor para intercambiar datos. Aquí, SYN significa número de secuencia sincronizado y ACK indica acuse de recibo. Cada paso es un protocolo de enlace entre el emisor y el receptor.

A continuación se analiza el proceso de enlace de tres vías TCP:

1. SYN

SYN es un segmento que envía el cliente al servidor y que actúa como una solicitud de conexión entre el cliente y el servidor. Notifica al servidor que el cliente está dispuesto a establecer una conexión. 

La sincronización de números de secuencia también ayuda a sincronizar los números de secuencia que se envían entre dos dispositivos, donde el mismo segmento SYN solicita el número de secuencia con la solicitud de conexión.

2. SYN-ACK

El segmento SYN-ACK o SYN + ACK es un segmento enviado por el servidor. ACK informa al cliente que el servidor recibió la solicitud de conexión y está listo para establecer la conexión. El segmento SYN informa el número de secuencia con el que el servidor está preparado para comenzar con los segmentos.

3. ACK

ACK (Acknowledgment) es el paso final antes de establecer una conexión TCP exitosa entre el cliente y el servidor. El cliente envía el segmento ACK como respuesta al ACK y SN recibidos del servidor, estableciendo una conexión de datos confiable.

Después de los tres pasos anteriores, el cliente y el servidor están listos para la comunicación de datos. La conexión y la terminación TCP son full-duplex, lo que significa que los datos pueden viajar en ambas direcciones simultáneamente.

Capturar apretones de manos de 3 vías (ejemplo)

La siguiente figura muestra los paquetes de protocolo de enlace de tres vías capturados por Wireshark.

Control de congestión TCP en redes informáticas

La congestión se produce cuando la cantidad de datos transmitidos a través de una red excede la capacidad, lo que interrumpe la transmisión de datos. El control de la congestión es imprescindible para garantizar que los datos se transmitan de manera eficiente y eficaz a través de una red, incluso cuando esta se encuentra bajo una gran carga. 

Un control eficaz de la congestión evita cortes en la red, minimiza demoras y reduce el riesgo de pérdida de datos. Con el control de la congestión, el rendimiento de la red puede mejorar significativamente y, por lo tanto, mejora la experiencia del usuario.

Un protocolo de control de congestión contiene las siguientes características:

  • Debe evitar la congestión y garantizar que el ancho de banda asignado a un host específico no exceda el ancho de banda del enlace de cuello de botella, que puede ser responsable de la congestión en la red. 
  • Debe ser justo. Los recursos de red entre diferentes hosts deben asignarse de manera justa.
  • El esquema debe ser eficiente y garantizar que el remitente utilice eficientemente el ancho de banda. Debe estar dentro del ancho de banda del enlace de cuello de botella y consumirlo en su totalidad. 

TCP utiliza tres algoritmos para el control de la congestión en redes informáticas :

  • Aumento aditivo, disminución multiplicativa
  • Comienzo lento
  • Tiempo de espera de reacción

Establecimiento de conexión TCP

Los hosts TCP deben establecer una sesión orientada a la conexión entre sí para que los servicios de transporte sean confiables. El establecimiento de la conexión utiliza el mecanismo de enlace de tres vías, que sincroniza ambos extremos de una red al permitir que ambas partes acuerden los números de secuencia originales.

Este procedimiento también garantiza que ambas partes estén preparadas para transmitir datos y sepan que la otra parte está disponible para comunicarse. Esto es crucial para que los paquetes no se compartan ni se retransmitan durante el tiempo de establecimiento de la sesión o después de su finalización. Cada host selecciona aleatoriamente un número de secuencia para realizar un seguimiento de los bytes dentro del flujo que envía y recibe.

El host A (extremo solicitante) envía un segmento SYN que determina el número de puerto del servidor al que el cliente desea conectarse y su número de secuencia inicial, x.

El host B (servidor) reconoce su propio segmento SYN y el número de secuencia inicial del servidor, y. El servidor también responde al SYN del cliente aceptando el SYN del remitente más uno (x + 1).

Un SYN consume un número de secuencia. El cliente debe reconocer este SYN del servidor aceptando el SEQ del servidor más uno (SEQ = x + 1, ACK = y + 1). Así es como se establece una conexión TCP.

Terminación de la conexión TCP

TCP crea tres segmentos para establecer una conexión, pero necesita cuatro segmentos para finalizarla. Cuando una conexión TCP es full-duplex, es decir, los datos se mueven en cada dirección independientemente de la otra, cada dirección debe cerrarse por separado. La regla es que cada extremo puede compartir un FIN después de enviar los datos.

Cuando un TCP recibe un FIN, debe informar a la aplicación que el otro extremo ha finalizado esa dirección de flujo de datos. El envío de un FIN suele ser consecuencia de que la aplicación emite un cierre.

La recepción de un FIN significa que ya no habrá más datos fluyendo en esa dirección. Un TCP puede enviar datos después de recibir un FIN. El extremo que primero emite el cierre (por ejemplo, envía el primer FIN) ejecuta el cierre activo. El otro extremo (que recibe este FIN) gestiona el cierre pasivo.

¿Qué son los indicadores TCP?

En una conexión TCP, los indicadores indican un estado de conexión particular, brindan información adicional útil para la resolución de problemas o manejan el control de una conexión específica. Los indicadores también se denominan bits de control.

Los indicadores más utilizados son SYN, ACK y FIN. Cada indicador corresponde a información de 1 bit.

Lista de indicadores TCP

La siguiente tabla explica los 6 indicadores TCP disponibles:

BanderaNombreFunción
SINCSincronizarEstablecido durante la comunicación inicial. Negociación de parámetros y números de secuencia.
ACKReconocimientoEstablecido como reconocimiento al indicador SYN. Siempre configurado después del SYN inicial
primeroReiniciarFuerza la terminación de una conexión (en ambas direcciones)
ALETAFinalizarOrdenado cerca de las comunicaciones.
PSHEmpujarFuerza la entrega de datos sin preocuparse por el almacenamiento en búfer.
URGUrgenteLos datos internos se envían fuera de banda. El ejemplo es cancelar un mensaje.

Herramientas TCP

ESCUCHA EN EL PUERTO TCP:
# ncat -l -p 1337
CONECTARSE AL PUERTO TCP:
#ncat 10.5.23.42 1337
OPCIONES ÚTILES DE TCPDUMP:
# tcpdump [options] [filters]
-n: Disable name and port resolution
-A: Print in ASCII
-XX: Print in hex and ASCII
-w file: Write output PCAP file
-r file: Read PCAP file

¿Qué es el Protocolo de datagramas de usuario (UDP)?

UDP, o Protocolo de datagramas de usuario, es un protocolo de capa de transporte con un funcionamiento similar al TCP. Sin embargo, es un protocolo sin conexión y poco confiable. Sin conexión significa que no se establece ninguna conexión antes de la transferencia o comunicación de datos. 

Además, no existe garantía de entrega de paquetes de datos y a UDP no le importa si los datos se han recibido o no. Por eso también se lo conoce como el protocolo “dispara y olvida”. UDP es más rápido que TCP, ya que no garantiza la entrega de paquetes. 

Además, establece conexiones de baja latencia y tolerancia a pérdidas a través de la red y permite la comunicación entre procesos.

Características del protocolo UDP

  • Es adecuado para multidifusión ya que admite la conmutación de paquetes.
  • Se utiliza para aplicaciones en tiempo real que no toleran retrasos entre segmentos de un mensaje recibido.
  • Este protocolo se utiliza para la comunicación de solicitud-respuesta cuando el tamaño de los datos es menor y hay menos preocupación con respecto al flujo y al control de errores.
  • También se utiliza para protocolos de actualización de enrutamiento, como el Protocolo de información de enrutamiento (RIP).

Ventajas del protocolo UDP

  • Incluye datos en vivo y en tiempo real.
  • Hay menos retrasos de extremo a extremo debido a paquetes de datos más pequeños y menos sobrecarga.
  • No necesita conexión para enviar o recibir datos, lo que mejora la velocidad de los sistemas operativos y las aplicaciones.
  • Incluye difusión y multidifusión, por lo que una transmisión UDP puede transmitir datos a múltiples destinatarios.
  • Entrega datos incluso si falta algún componente de los datos o se pierde un paquete.
  • Funciona en una amplia gama de condiciones de red en comparación con TCP.
  • La comunicación en UDP es más eficiente.

Desventajas del protocolo UDP

  • Como UDP no tiene conexión, la transferencia de datos no es confiable.
  • No hay forma de reconocer la transferencia exitosa de datos.
  • Si se detectan errores, pueden descartarse paquetes.
  • No hay forma de saber si los datos se entregan en su estado original o no.
  • Como no tiene un mecanismo para rastrear la secuencia de datos, se pueden entregar en cualquier orden o fuera de orden.
  • Si varias personas utilizan datos UDP, puede producirse congestión y no hay forma de evitarlo.
  • Durante una colisión de datos, los enrutadores pueden descartar paquetes UDP y optar por paquetes TCP.

Usos y aplicaciones del protocolo UDP

UDP es adecuado cuando se desea transferir un flujo constante de datos en tiempo real. Permite que varios usuarios accedan a los datos rápidamente, incluso si no están en buenas condiciones. Por ejemplo, juegos en línea. Seguirá funcionando a pesar de los errores o la pérdida de datos. Estos son algunos de sus usos en tiempo real:

  • Video chat o conferencia
  • Juegos en línea
  • Vídeo transmitido en vivo
  • Multidifusión
  • VoIP (llamadas de voz dentro de la aplicación)
  • Sistemas de nombres de dominio

Comparación entre TCP y UDP

Aquí están todas las diferencias entre TCP y UDP en redes de computadoras, presentadas en forma de comparación tabular:

Base        Protocolo de control de tráfico       Unión Popular de Palestina
Forma completaSignifica Protocolo de Control de Transmisión.Significa Protocolo de Datagramas de Usuario.
Tipo de servicioEs un protocolo orientado a la conexión. Por lo tanto, es necesario que los dispositivos que se comunican establezcan una conexión antes de comenzar a transmitir datos. Los dispositivos deben finalizar la conexión una vez que se completa la transmisión de datos. Es un protocolo sin conexión, por lo que los datos se envían sin comprobar si el sistema está preparado para recibirlos o no. Además, UDP está orientado a los datagramas, ya que no se requiere ninguna sobrecarga para abrir una conexión, finalizarla o mantenerla. Es una opción eficiente para la transmisión en redes de difusión y multidifusión. 
        FiabilidadTCP es comparativamente más confiable porque el protocolo garantiza la entrega de datos al enrutador receptor/destino.En UDP, no hay garantía de la entrega de datos al destino, lo que lo hace poco confiable.
Mecanismo de control de flujoSu mecanismo de control de flujo comprende demasiados paquetes que no pueden enviarse al receptor al mismo tiempo.No existe tal mecanismo en este protocolo.
Mecanismo de comprobación de errores                                 TCP cuenta con amplios mecanismos de comprobación de errores, ya que ofrece control de flujo y reconocimiento de datos. Comprueba los errores mediante sumas de comprobación. Una vez corregidos los datos, se retransmiten al receptor.   No existe ningún mecanismo de comprobación de errores y no reenvía los paquetes de datos perdidos. Sin embargo, realiza una comprobación básica de errores mediante suma de comprobación.
  ReconocimientoEn TCP existe un segmento de confirmación. Este protocolo utiliza un concepto de enlace de tres vías, en el que el remitente recibe el acuse de recibo y luego envía los datos. Puede volver a enviar los datos perdidos.No hay segmento de reconocimiento. UDP envía datos sin esperar el reconocimiento.
  SecuenciaUna de las características de TCP es la secuenciación de datos, por lo que asegura que los paquetes se reciban en un orden específico. UDP no garantiza la secuenciación de los datos, por lo que si es importante mantener el orden, debe hacerlo la capa de aplicación.
VelocidadTCP es más lento que UDP porque el primer protocolo realiza la comprobación de errores, asegura la entrega de paquetes de datos y mantiene el control del flujo.   El protocolo UDP es más sencillo y rápido. Garantiza una comunicación más eficiente, pero no garantiza la entrega de los paquetes de datos. 
RetransmisiónEn este protocolo es posible la retransmisión de paquetes perdidos. UDP no admite la retransmisión de paquetes perdidos.
Longitud del encabezadoLa longitud del encabezado en TCP es de 20 a 60 bytes.Tiene un encabezado de longitud fija de 8 bytes.
PesoEs un peso pesado.Es ligero.
Técnicas de apretón de manosLas técnicas de protocolo de enlace en TCP incluyen SYN, ACK, SYN-ACKComo UDP es un protocolo sin conexión, no hay protocolo de enlace.
RadiodifusiónEste protocolo no admite transmisión.UDP admite la transmisión.
ProtocolosTCP es utilizado por HTTPs, HTTP, FTP, Telnet y SMTP.UDP es utilizado por DHCP, TFTP, DNS, SNMP, RIP y VoIP.
Tipo de flujoLa conexión en TCP es un flujo de bytes.La conexión UDP es un flujo de mensajes.
Gastos generalesIncluye una sobrecarga baja pero es comparativamente más alta que UDP.Gastos generales extremadamente bajos.
AplicacionesTCP se utiliza principalmente en situaciones que requieren un proceso de comunicación seguro y confiable, como el envío de correos electrónicos, la navegación web y los servicios militares.UDP se utiliza en situaciones que exigen una comunicación más rápida pero no requieren confiabilidad, como VoIP, transmisión de video y música, transmisión de juegos, etc.

Números de Puerto TCP y UDP

Accedemos a gran cantidad de servicios a través de internet durante el día. DNS, web, correo electrónico, FTP, IM y VoIP son solo algunos de estos servicios que proporcionan los sistemas cliente-servidor en todo el mundo. Estos servicios pueden ser prestados por un solo servidor o por muchos servidores en grandes centros de datos.

Cuando se entrega un mensaje mediante TCP o UDP, los protocolos y servicios solicitados se identifican mediante un número de puerto, como se muestra en la figura. Un puerto es un identificador numérico dentro de cada segmento, que se usa para llevar un seguimiento de las conversaciones específicas entre un cliente y un servidor. Cada mensaje que envía un host contiene un puerto de origen y un puerto de destino.

Cuando un servidor recibe un mensaje, tiene que poder determinar qué servicio está solicitando el cliente. Los clientes se pre-configuran para usar un puerto de destino que ya está registrado en Internet para cada servicio. Un ejemplo de esto son los clientes de navegador web que está preconfigurados para enviar solicitudes a servidores web por medio de puerto 80, el puerto conocido para servicios web de HTTP. Los puertos son asignados y administrados por una organización conocida como la Corporación de Internet para Nombres y Números Asignados (Internet Corporation for Assigned Names and Numbers, ICANN). Los puertos se dividen en tres categorías y van de 1 a 65 535:

  • Puertos Conocidos – Los puertos de destino que están asociados con aplicaciones de red comunes se identifican como puertos conocidos. Estos puertos están en el rango de 1 a 1023.
  • Puertos Registrados – Los puertos 1024 a 49151 pueden usarse como puertos de origen o de destino. Las organizaciones los utilizan para registrar aplicaciones específicas, como las aplicaciones IM.
  • Puertos Privados – Los puertos 49152 a 65535, usados frecuentemente como puertos de origen. Estos puertos pueden ser utilizados por cualquier aplicación.

La tabla muestra algunos números de puerto conocidos y sus aplicaciones asociadas.

Número de puertoTransporteProtocolo de aplicación
20TCPProtocolo de transferencia de archivos (FTP) – Datos
21TCPFTP – Control
22TCPSecure Shell (SSH)
23TCPTelnet
25TCPProtocolo simple de transferencia de correo (SMTP)
53UDP, TCPServicio de nombres de dominio (DNS, Domain Name Service)
67UDPProtocolo de configuración dinámica de host (DHCP): servidor
68UDPDHCP – Cliente
69UDPProtocolo trivial de transferencia de archivos (TFTP)
80TCPProtocolo de transferencia de hipertexto (HTTP)
110TCPProtocolo de oficina de correos, versión 3 (POP3)
143TCPProtocolo de acceso a mensajes de Internet (IMAP)
161UDPProtocolo simple de administración de redes (SNMP)
443TCPProtocolo seguro de transferencia de hipertexto (HTTPS)

Algunas aplicaciones pueden utilizar TCP y UDP. Por ejemplo, DNS utiliza UDP cuando los clientes envían solicitudes a un servidor DNS. Sin embargo, la comunicación entre dos servidores DNS siempre usa TCP. Busque en el sitio web de IANA el registro de puertos para ver la lista completa de números de puerto y aplicaciones asociadas.

Pares de sockets

Los puertos de origen y de destino se colocan dentro del segmento. Los segmentos se encapsulan dentro de un paquete IP. El paquete IP contiene la dirección IP de origen y de destino. Se conoce como socket a la combinación de la dirección IP de origen y el número de puerto de origen, o de la dirección IP de destino y el número de puerto de destino. En el ejemplo de la figura, el PC está solicitando simultáneamente servicios FTP y web desde el servidor de destino.

En el ejemplo, la solicitud FTP generada por el PC incluye las direcciones MAC de Capa 2 y las direcciones IP de Capa 3. La solicitud también identifica el puerto de origen 1305 (generado dinámicamente por el host) y el puerto de destino, identificando los servicios FTP en el puerto 21. El host también ha solicitado una página web del servidor utilizando las mismas direcciones de Capa 2 y Capa 3. Sin embargo, está utilizando el número de puerto de origen 1099 (generado dinámicamente por el host) y el puerto de destino que identifica el servicio web en el puerto 80. El socket se utiliza para identificar el servidor y el servicio que solicita el cliente. Un socket de cliente puede ser parecido a esto, donde:

  • 1099 representa el número de puerto de origen: 192.168.1.5:1099.
  • El socket en un servidor web puede ser 192.168.1.7:80.
  • Juntos, estos dos sockets se combinan para formar un par de sockets: 192.168.1.5:1099, 192.168.1.7:80.
  • Los sockets permiten que los diversos procesos que se ejecutan en un cliente se distingan entre sí.

También permiten la diferenciación de diferentes conexiones a un proceso de servidor. El número de puerto de origen actúa como dirección de retorno para la aplicación que realiza la solicitud. La capa de transporte hace un seguimiento de este puerto y de la aplicación que generó la solicitud de manera que cuando se devuelva una respuesta, esta se envíe a la aplicación correcta.

El Comando netstat

Las conexiones TCP no identificadas pueden representar una importante amenaza a la seguridad. Pueden indicar que algo o alguien está conectado al host local. A veces es necesario conocer las conexiones TCP activas que están abiertas y en ejecución en el host de red. Netstat es una utilidad de red importante que puede usarse para verificar esas conexiones. Como se muestra a continuación, ingrese el comando netstat para enumerar los protocolos en uso, la dirección local y los números de puerto, la dirección externas y los números de puerto, y el estado de la conexión.

De forma predeterminada, el comando netstat intentará resolver las direcciones IP en nombres de dominio y los números de puerto en aplicaciones conocidas. La opción -n se puede utilizar para mostrar direcciones IP y números de puerto en su formato numérico.

Comprobador de Sintaxis — El Comando nslookup

Cuando configura manualmente un dispositivo para conectividad de red, recuerde que también incluye una dirección de servidor DNS. En el caso de las redes domésticas, DHCP ejecuta esta configuración en el router doméstico. Su ISP proporciona la dirección del servidor DNS al router de su hogar, y luego utiliza el DHCP para enviar la configuración a todos los dispositivos conectados a su red. Cuando escribe el nombre de un sitio web, como www.achirou.com, el cliente DNS que se ejecuta en su dispositivo primero solicita al servidor DNS la dirección IP, como 172.230.155.162, antes de enviar su solicitud HTTP. Puede utilizar el comando nslookup para descubrir las direcciones IP de cualquier nombre de dominio. En esta actividad del Verificador de sintaxis, practique el ingreso del comando nslookup tanto en Windows como en Linux.

Protocolo TCP vs UDP: ¿cuál es mejor?

La elección final entre UDP y TCP depende completamente de cuál sea su objetivo, lo que esté haciendo y qué tipo de datos se requieren transferir. 

Si se trata de juegos en línea, entonces el protocolo UDP es una opción más eficiente ya que permite una transmisión de datos más rápida y un trabajo sin demoras. 

Sin embargo, si desea transmitir archivos, como videos, fotos, etc., opte por TCP, ya que garantiza que los datos se envíen en el orden correcto sin omitir ningún componente. TCP y UDP son protocolos útiles y cada uno tiene sus pros y sus contras. 

En pocas palabras, a pesar de la diferencia entre UDP y TCP en las redes informáticas , elegir uno de ellos puede ser un desafío. Todo depende de la tarea que esté realizando y del tipo de datos que desee transferir. 

Considere estos factores y luego evalúe cuál es la mejor opción para usted. Para una comunicación secuenciada y segura, elija TCP, pero para una comunicación más rápida y eficiente, elija UDP. 

Preguntas frecuentes sobre TCP y UDP

A continuación se presentan algunas preguntas frecuentes relacionadas con el protocolo TCP en redes:

¿Cuál es la forma completa del TCP en la computadora?

La forma completa de TCP es Protocolo de control de transmisión. 

¿Qué es una conexión TCP?

Una conexión de protocolo de control de transmisión es un estándar de comunicación en una red informática que permite que los programas de aplicación y los dispositivos informáticos compartan mensajes a través de Internet. Está diseñado para transferir paquetes a través de la web y garantizar la entrega correcta de datos a través de redes.

¿Cuántas conexiones TCP puede manejar un servidor?

Para todas las solicitudes que recibe TCP, se establece un nuevo socket. Dado que solo hay 65535 puertos TCP, un servidor no puede tener más conexiones simultáneas.

¿Cuánto tiempo puede permanecer abierta una conexión TCP? 

Las conexiones TCP duran aproximadamente dos horas sin tráfico. Cualquiera de los extremos puede enviar paquetes de mantenimiento de conexión, solo un ACK en el último paquete recibido. Esto se puede configurar por socket o de forma predeterminada en cada conexión TCP.

¿Cómo se establece y finaliza una conexión TCP?

TCP utiliza un proceso de enlace de tres vías para establecer una conexión confiable. La conexión es dúplex completa; ambos lados se sincronizan (SYN) y reconocen (ACK). Estos cuatro indicadores se intercambian en tres pasos: SYN, SYN-ACK y ACK.

Para finalizar una conexión TCP, cualquiera de los dispositivos puede enviar un paquete FIN (finalización) al otro dispositivo, indicando que ya no desea comunicarse. El otro dispositivo responde con un paquete ACK y luego envía su paquete FIN para confirmar la finalización.

¿Cuántas conexiones TCP hay por puerto?

Los puertos son números de 16 bits. Por lo tanto, la cantidad máxima de conexiones a cualquier puerto de host es de 64 K.

¿Qué es el rechazo de conexión TCP?

El rechazo de conexión TCP significa que durante una llamada de sistema conectada, se generan errores de conexión rechazada cuando una aplicación intenta conectarse usando TCP a un puerto de servidor que no está abierto.

¿Qué tipo de protocolo es TCP?

TCP es un protocolo orientado a la conexión. Esto significa que se establece una conexión y se mantiene hasta que las aplicaciones en cada extremo hayan terminado de intercambiar mensajes.

¿Qué es el control congénito del TCP?

El control de congestión TCP es el mecanismo que impide que se produzca una congestión o la elimina una vez que se produce. El estado de la ventana de congestión de TCP limita la cantidad de datos que el remitente envía a la red incluso antes de recibir el acuse de recibo.

¿Qué es un protocolo de enlace TCP?

El protocolo de enlace TCP es un proceso en redes TCP/IP que consiste en establecer una conexión funcional entre un servidor y una computadora. El método incluye tres pasos y requiere que el servidor y el cliente sincronicen y negocien las condiciones de comunicación.

¿Qué es el número de protocolo TCP?

El número de protocolo TCP indica un byte único en la tercera palabra del encabezado del datagrama. El valor reconoce el protocolo en la capa IP anterior a la que se deben pasar los datos.  

¿Para qué se utiliza TCP?

TCP es un estándar de comunicación que permite que los programas de aplicación y los dispositivos informáticos intercambien información a través de una red. Envía paquetes a través de Internet y garantiza la entrega correcta de información y mensajes a través de las redes.

¿Qué es un protocolo de enlace de tres vías TCP?

Un protocolo de enlace de tres vías crea una conexión de socket TCP para transmitir datos entre dispositivos de manera confiable. Permite la comunicación entre un navegador web del lado del cliente y un servidor cada vez que un usuario navega por Internet.

¿Qué es el modelo TCP?

El modelo TCP es un modelo de cuatro capas que divide las comunicaciones de red en cuatro capas definidas. Las cuatro capas esenciales son las capas de aplicación, transporte, red y enlace.

¿Qué son los estados TCP?

Los estados TCP son las diferentes etapas de una conexión TCP. Cada estado tiene un propósito específico y se utiliza para garantizar que la conexión se establezca y se mantenga correctamente. Los estados son: Cerrado, Escucha, Sincronizar, Establecido, Espera de cierre, Último acuse de recibo y Tiempo de espera.

No te detengas, sigue avanzando

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

Universidad Hacking. Todo en Ciberseguridad. Curso Completo

Aprende Hacking Ético y Ciberseguridad sin necesitar conocimientos Previos. Practica Hacking Ético y Ciberseguridad aquí

Calificación: 4,6 de 5 (2.877 calificaciones) 15.284 estudiantes Creado por Alvaro Chirou • 1.800.000+ Enrollments Worldwide

Lo que aprenderás

  • Seguridad informática
  • Hacking Ético en profundidad
  • Redes
  • Programación (Python) (Hacking con Python)
  • Análisis de Malware con laboratorios, practicas y ejecución de Malware para que veas su comportamiento.
  • Cómo reforzar tu Privacidad y Anonimato
  • Uso avanzado de Metasploit
  • Top 10 de Owasp Web, Top 10 de Owasp mobile y Top 10 de Owasp API
  • Seguridad informática para empresas
  • Kali linux de 0 a 100, Veremos su suite de herramientas de hacking y como explotar fallos en sistemas.
  • Termux y como hackear desde el celular
  • Seguridad informática server/web, profundizaremos en WordPress
  • Análisis de trafico en Wireshark
  • Y mucho, pero mucho más

¿Esto que significa?

Hoy más que nunca, se necesitan personas capacitadas en este rubro para trabajar.

Por esa razón cree esta formación profesional para compartirte mis conocimientos y experiencia en la materia y puedas iniciar en este mundo del Hacking Ético y Ciberseguridad.

Te voy a estar acompañando en el proceso de aprendizaje, donde si estas empezando desde 0, sin conocimientos previos, no es un impedimento ya que iniciaremos como si no supieras nada de la materia.

Si sos una persona con conocimientos, podrás iniciar directamente en el nivel más avanzado o en el que tu elijas.

Como en todos mis cursos en udemy, tendrás muchísima practica para que materialices lo que vas aprendiendo.

Empieza a aprender ya mismo!

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

No solo te enseñamos, tambien te guíamos para que puedas conseguir trabajo como desarrollador y hacker…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Curso Gratis de Programación

Curso Gratis Linux – Capitulo 1 – Introducción a Linux

Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios

Como iniciarse en TRY HACK ME – Complete Beginner #1

OSINT #1 Más de 200 Search Tools

Curso Gratis de Java para Hackers

SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG

Saludos amigos y happy hacking!!!