> For the complete documentation index, see [llms.txt](https://juan-martin-franco.gitbook.io/network-+/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juan-martin-franco.gitbook.io/network-+/3.-modelo-tcp-ip/3.3-puertos-y-protocolos.md).

# 3.3 - Puertos y Protocolos

## Puertos y Protocolos

Existe una diversidad muy grande de Protocolos que operan en los puertos, los cuales abarcan el rango de 0-65.535.&#x20;

A continuación se describen los Protocolos y Puertos mas importantes:

### Puertos 20 y 21 - FTP (File Transfer Protocol)

El protocolo <mark style="color:blue;">**FTP**</mark> es utilizado para <mark style="color:blue;">**transferir archivos**</mark> entre un cliente y un servidor en una red de computadoras.&#x20;

Este método para transferir archivos en inseguro, ya que los datos son transmitidos como texto plano (no hay encriptado de datos).

Podemos sacar como conclusión que FTP **no es seguro y no se recomienda su uso** para transferir archivos, especialmente sobre internet, ya que cualquiera que esté "espiando" la conversación podría acceder a nuestros datos.

### Puerto 22 - SSH (Secure Shell)

El protocolo <mark style="color:blue;">**SSH**</mark> nos permite <mark style="color:blue;">**tomar control remoto de otra computadora**</mark> utilizando una terminal de comandos.&#x20;

Este protocolo es más conocido por su uso como capacidad de login remoto.

A diferencia de FTP, SSH es un protocolo de red criptográfico. Esto significa que **utiliza encriptado y es seguro** de utilizar incluso sobre una red insegura como internet.

Por ejemplo, si deseo cambiar la configuración de un servidor web desde mi hogar, puedo utilizar SSH para logearme y realizar dichas configuraciones, sin ningún tipo de riesgo, ya que la conexión está encriptada en ambos extremos.

### Puerto 22 - SFTP (Secure File Transfer Protocol)

El protocolo <mark style="color:blue;">**SFTP**</mark> nos provee de otra forma de <mark style="color:blue;">**transferir archivos**</mark>, pero esta vez, <mark style="color:blue;">**de forma segura**</mark> utilizando encriptación.&#x20;

Este protocolo, al igual que SSH, opera en el puerto 22.&#x20;

Básicamente, cuando se utiliza este protocolo **se tuneliza el protocolo FTP a través de SSH** para proveernos una forma segura de realizar las transferencias de datos.

### Puerto 23 - Telnet (**Tel**etype **Net**wor&#x6B;*)*

El protocolo <mark style="color:blue;">**Telnet**</mark> es similar a la forma de operar de SSH, ya que su función es <mark style="color:blue;">**proveer acceso remoto a otra computadora**</mark> por medio de una terminal de comandos.

Este protocolo, a diferencia de SSH, es **inseguro**, ya que **no utiliza encriptado** sino que todos **los datos viajan como texto plano**.&#x20;

El protocolo Telnet es utilizado para proveer comunicación interactiva bidireccional por medio de una consola.

### Puerto 25 - SMTP (Simple Mail Transfer Protocol)

El protocolo <mark style="color:blue;">**SMTP**</mark> es el estándar de internet para el <mark style="color:blue;">**envío de mensajes de correo electrónico**</mark>.

Este protocolo nos provee la **capacidad de enviar correos** a través de nuestra red.

### Puerto 53 - DNS (Domain Name System)

El protocolo <mark style="color:blue;">**DNS**</mark> es lo que nos <mark style="color:blue;">**provee un sistema de dominios jerárquico descentralizado**</mark> para nuestras computadoras, nuestros servicios y otros recursos que estén conectados a las redes privadas y a internet.

Este protocolo, básicamente **convierte nuestros nombres de dominio en direcciones IP y viceversa**.&#x20;

Por ejemplo, si queremos ingresar a [www.google.com](http://www.google.com), en lugar de recordar la ip asociada al servidor web que aloja dicha página web, basta con recordar el nombre de dominio y por debajo DNS resolverá dicha petición.

### Puertos 67 y 68 - DHCP (Dynamic Host Control Protocol)

El protocolo <mark style="color:blue;">**DHCP**</mark> se utiliza para <mark style="color:blue;">**asignar direcciones IP y otros parámetros de configuración de red de manera automática**</mark> para facilitarle la administración de red a los clientes de red.&#x20;

Este protocolo le permite a nuestra computadora **obtener direcciones IP y otros parámetros de red (como la Máscara de Subred, Default Gateway, Servidor DNS) de manera automática**.

### Puerto 69 - TFTP (Trivial File Transfer Protocol)

El protocolo <mark style="color:blue;">**TFTP**</mark> se utiliza para <mark style="color:blue;">**transmitir archivos en ambas direcciones**</mark> de una aplicación Cliente-Servidor.

Este protocolo **no provee ningún tipo de autenticación ni visibilidad de directorio**.

Básicamente, TFTP es una versión reducida de FTP.&#x20;

Este protocolo puede ser utilizado por administradores de red para **enviar archivos de configuración** o **solicitar archivos de configuración a un router o switch**.

Además, puede ser utilizado para **arrancar un sistema operativo desde un servidor de archivos de red cuando se utiliza un entorno PXE** (Preboot Execution Environment - Entorno de ejecución de prearranque).

### Puerto 80 - HTTP (HyperText Transfer Protocol)

El protocolo <mark style="color:blue;">**HTTP**</mark> es la <mark style="color:blue;">**base para la comunicación de datos para la red mundial**</mark> (WWW).

Este protocolo fue diseñado para presentaciones colaborativas a través de muchos tipos diferentes de dispositivos.

**HTTP** es la **versión insegura** que utilizamos para **navegar por la web**.

### Puerto 110 - POP3 (Post Office Protocol 3)

El protocolo <mark style="color:blue;">**POP3**</mark> es utilizado por clientes locales de correo electrónico para <mark style="color:blue;">**recuperar mails desde un servidor remoto**</mark> sobre una conexión TCP/IP.

Este protocolo solo se utiliza para correos electrónicos que están en la bandeja de entrada o correos electrónicos entrantes.

POP utiliza un método de comunicación de **almacenamiento y reenvío**.

Básicamente, si alguien nos envía un email, irá a nuestro servidor de correo y esperará hasta que estemos listos para recibirlo. Una vez que estamos listos, nuestro cliente de correo se conectará al servidor sobre POP3 utilizando el puerto 110 y descargará dichos correos.\
Luego, nuestro cliente de correo le dirá al servidor o bien que guarde una copia en el servidor o que elimine el correo del servidor.

### Puerto 125 - NTP (Network Time Protocol)

El protocolo <mark style="color:blue;">**NTP**</mark> provee a nuestro sistema una <mark style="color:blue;">**sincronización de reloj entre diferentes sistemas de computadoras**</mark> a través de redes de datos de latencia variable con conmutación de paquetes.

Este protocolo es útil para mantener sincronizado nuestra fecha y hora a través de todos nuestros dispositivos en la red.

### Puerto 139 - NetBIOS (Network Basic Input/Output System)

El protocolo <mark style="color:blue;">**NetBIOS**</mark> provee un servicio para <mark style="color:blue;">**permitirle a las aplicaciones en una computadora separada**</mark> comunicarse sobre una red de área local para <mark style="color:blue;">**compartir archivos e impresoras**</mark>.

Si se utiliza el **compartimiento de archivos o de impresoras en una red Windows**, nuestro puerto 139 probablemente esté abierto porque debemos estar utilizando NetBIOS.

### Puerto 143 - IMAP (Internet Mail Application Protocol)

El protocolo <mark style="color:blue;">**IMAP**</mark> le permite a los clientes de correo electrónico la habilidad de <mark style="color:blue;">**recuperar mensajes de email desde un servidor de correo electrónico**</mark> sobre una conexión TCP/IP.

Este protocolo es un **nuevo tipo de protocolo para recuperar emails** y fue diseñado para mejorar algunos aspectos del protocolo POP3.

Básicamente, IMAP le permite al usuario final mirar y manipular los mensajes de correo como si estuvieran almacenados localmente en su máquina aunque estos sigan estando en el servidor.&#x20;

Esto es importante porque con POP3 cuando nos logeamos nos aparecerán correos leídos en algún dispositivo y no leídos en otro dispositivo, porque el servidor de correo no sigue el rastro del estado de cada mensaje.\
Pero, con IMAP el servidor mantiene todos estos aspectos sincronizados a través de todos nuestros dispositivos, lo que lo hace mucho mejor para las comunicaciones actuales.

### Puertos 161 y 162 - SNMP (Simple Network Management Protocol)

El protocolo <mark style="color:blue;">**SNMP**</mark> nos provee la capacidad de <mark style="color:blue;">**colectar y organizar información sobre todos los dispositivos administrados**</mark> en una red IP. Este grupo incluye cosas como routers, switches, teléfonos VoIP y otros dispositivos.

Este protocolo **puede leer y también modificar la información** cambiando el comportamiento de los dispositivos y provee la capacidad de **monitorear el tiempo activo, el tiempo inactivo y otros estados** de los dispositivos dados.

SNMP se utiliza para coleccionar datos sobre dispositivos en la red y monitorear su estado.

### Puerto 389 - LDAP (Lightweight Directory Access Protocol)

El protocolo <mark style="color:blue;">**LDAP**</mark> es un standard industrial neutral para el vendedor para el <mark style="color:blue;">**acceso y el mantenimiento servicios de información de directorios distribuidos**</mark>.

Este protocolo se puede pensar como Active Directory en Windows, pero sin estar limitado a las redes Windows.\
Se puede decir que Active Directory es la versión propietaria de LDAP.

LDAP es un **servicio de directorio**. \
\
Si estamos en un cliente de correo como por ejemplo Outlook, y buscamos el nombre de alguien en la lista de contactos, utilizamos LDAP para hacer esto. \
En adición a esto, LDAP puede almacenar información sobre nuestros usuarios y sus grupos.

### Puerto 443 - HTTPS (HyperText Transfer Protocol - Secure)

El protocolo <mark style="color:blue;">**HTTPS**</mark> es la <mark style="color:blue;">**versión segura de HTTP**</mark>.&#x20;

Este protocolo hace exactamente lo mismo que HTTP (que opera bajo el puerto 80) pero de manera segura, ya que **opera sobre un tunel encriptado**.&#x20;

Este tunel encriptado puede utilizar tanto **SSL (Secure Socket Layer)** como **TLS (Transport Layer Security)** para operar.

Este tunel encriptado de extremo a extremo entre cliente y servidor web permite que podamos realizar cosas como comprar en un e-commerce, u operar con nuestra cuenta bancaria sin correr ningún riesgo.

### Puerto 445 - SMB (Server Message Block)

El protocolo <mark style="color:blue;">**SMB**</mark> le provee a nuestro sistema <mark style="color:blue;">**acceso compartido a archivos, impresoras, y otros tipos de comunicaciones entre diferentes dispositivos en nuestra red**</mark>.&#x20;

Este protocolo **opera muchas veces con NetBIOS**.

**NetBIOS** es utilizado para realizar la **autenticación**, mientras que **SMB** maneja el **paso de archivos y servicios de impresión** al entregarnos esos datos.

### Puerto 514 - SysLog (System Logging Protocol)

El protocolo <mark style="color:blue;">**SysLog**</mark> es utilizado para <mark style="color:blue;">**enviar mensajes de log o eventos a un servidor especificado**</mark> en la red, comúnmente conocido como <mark style="color:blue;">**SysLog Server**</mark>.

Este tipo de servidores, básicamente, se utiliza para **coleccionar datos desde varios logs de dispositivos a través de nuestra red y consolidarlos todos juntos en una única máquina** para que puedan ser monitoreados por administradores de red y analistas de ciberseguridad.&#x20;

### Puerto 587 - SMTP TLS (Simple Mail Transfer Protocol over Transport Layer Security)

El protocolo <mark style="color:blue;">**SMTP TLS**</mark> es la <mark style="color:blue;">**versión encriptada de SMTP**</mark>.

Este protocolo nos provee de una versión segura del servicio para **enviar nuestros correos electrónicos** y nos asegura el poder **enviar emails a través de internet utilizando encriptado**.

SMTP TLS ofrece exactamente el **mismo servicio que SMTP** pero le agrega la seguridad del **encriptado extremo a extremo con el tunel TLS**.

### Puerto 636 - LDAPS (Lightweight Directory Access Protocol - Secure)

El protocolo <mark style="color:blue;">**LDAPS**</mark> es la <mark style="color:blue;">**versión segura del protocolo LDAP**</mark>, y ofrece un <mark style="color:blue;">**servicio de directorio seguro**</mark>.

Este protocolo, al igual que muchos otros, cuenta con su versión segura e insegura.

LDAPS opera de manera idéntica al protocolo LDAP (al igual que Active Directory, etc) pero **agrega un tunel encriptado sobre SSL o TLS para hacerlo mas seguro**.

### Puerto 993 - IMAP SSL (Internet Message Access Protocol over Security Socket Layer)

El protocolo <mark style="color:blue;">**IMAP SSL**</mark> es la <mark style="color:blue;">**versión segura del protocolo IMAP**</mark>, y nos permite <mark style="color:blue;">**recibir nuestros correos electrónicos de manera segura**</mark>.

Este protocolo funciona de manera idéntica al protocolo IMAP, pero agrega un **tunel SSL encriptado**, a diferencia de IMAP que viaja como texto plano.

### Puerto 995 - POP3 SSL (Post Office Protocol over Secure Sockets Layer)

El protocolo <mark style="color:blue;">**POP3 SSL**</mark> es la versión segura del protocolo POP3, y al igual que POP3, <mark style="color:blue;">**permite recibir correos electrónicos, pero de manera segura**</mark>. A diferencia de IMAP, <mark style="color:blue;">**no sincroniza el estado (Leído/No Leído)**</mark> de los correos en los distintos dispositivos.

Este protocolo **agrega un tunel encriptado** para poder utilizar el mismo servicio que POP3 pero de manera segura.

### Puerto 1433 - SQL Server Protocol (Structured Query Language Server Protocol)

El protocolo <mark style="color:blue;">**SQL Server Protocol**</mark> permite a los clientes <mark style="color:blue;">**comunicarse con un servidor de base de datos**</mark>. \
Si ese servidor es un servidor <mark style="color:blue;">**Microsoft SQL Server**</mark>, nuestro cliente se comunicará con el servidor por medio del puerto 1433 para dialogar con el motor de base de datos.

### Puerto 1521 - SQLnet Protocol (Structured Query Language net Protocol)

El protocolo <mark style="color:blue;">**SQLnet**</mark> es utilizado por la <mark style="color:blue;">**versión Oracle de SQL Server**</mark>.

Este protocolo provee una **gran cantidad de funciones idénticas a las de Microsoft SQL Server**, pero cambiando el propietario por Oracle.

Si se están corriendo bases de datos Oracle en la red, probablemente se esté utilizando el puerto 1521 en lugar del puerto 1433 de Microsoft SQL Server.

### Puerto 3306 - MySQL Protocol

El protocolo <mark style="color:blue;">**MySQL Protocol**</mark> es utilizado por un cliente de base de datos para <mark style="color:blue;">**conectarse al motor de base de datos MySQL**</mark>.

Este motor de BD, a diferencia de Microsoft SQL Server, es **open source**.

### Puerto 3389 - RDP (Remote Desktop Protocol)

El protocolo <mark style="color:blue;">**RDP**</mark> es un protocolo propietario desarrollado por Microsoft, y permite a los usuarios <mark style="color:blue;">**controlar sus computadoras de manera remota utilizando una interfaz gráfica**</mark>.&#x20;

Este protocolo es algo similar a SSH y Telnet, respecto a que **provee la capacidad de controlar de manera remota otra computadora o servidor** pero, tiene un beneficio adicional ya que **cuenta con una interfaz gráfica de usuario**.

### Puertos 5060 y 5061 - SIP (Session Initiation Protocol)

El protocolo <mark style="color:blue;">**SIP**</mark> provee <mark style="color:blue;">**señalización y control de sesiones de comunicación multimedia**</mark> para diferentes aplicaciones.

Este protocolo es comúnmente utilizado en **llamadas VoIP, videollamadas, llamadas de voz, así como también mensajería instantánea**.&#x20;

Cuando se utiliza algo como VoIP, Skype, FaceTime o similar, probablemente se está utilizando el protocolo SIP para iniciar la comunicación.
