Puertos
Aunque normalmente nos referimos a Puertos TCP y UDP, en realidad más que de puertos debemos hablar de protocolos, ya que no se trata de diferentes tipos de puertos, sino de diferentes protocolos utilizados para su gestión.
Protocolo TCP:
El protocolo TCP o Transport Control Protocol proporciona un transporte fiable de flujo de bits entre aplicaciones. Se utiliza para enviar de forma fiable grandes cantidades de información, liberando al programador de aplicaciones de tener que gestionar la fiabilidad de la conexión (retransmisiones, pérdidas de paquetes, orden en que llegan los paquetes, duplicados de paquetes…), encargándose el propio protocolo de su gestión. Para ello, cada paquete de datos dedica 20 bytes al envío de información.
Esto hace que las transmisiones por TCP sean muy seguras… pero también lentas, ya que cada paquete hace una serie de comprobaciones sobre la integridad de los datos enviados, a lo que hay que añadir que al ser los paquetes de tamaño fijo, si aumentamos el tamaño dedicado al envío de información vamos a asegurarnos una mayor fiabilidad, pero también enviamos menos datos.
Protocolo UDP:
El protocolo UDP, o User Datagram Protocol en cambio proporciona un nivel no fiable de transporte de datagramas, ya que añade muy poca información sobre los mismos (8 bytes, frente a los 20 bytes que vimos en el protocolo TCP). La primera consecuencia de esto es que por cada paquete enviado se envía una mayor cantidad de datos, pero también al reducir la información y comprobaciones de estos se aumenta la velocidad a la que se transfieren.
Este sistema lo utilizan, por ejemplo, NFS (Network File System) y RCP, que es un comando utilizado para transferir ficheros entre ordenadores, pero sobre todo es muy utilizado en la transferencia tanto de audio como de vídeo.
El protocolo UDP no usa ningún retardo para establecer una conexión, no mantiene estado de conexión y no hace un seguimiento de estos parámetros. Esto hace que un servidor dedicado a una aplicación determinada pueda soportar más clientes conectados cuando la aplicación corre sobre UDP en lugar de sobre TCP.
Rango de los puertos:
El campo de puerto tiene una longitud de 16 bits, lo que permite un rango que va desde 0 a 65535, pero no todos estos puertos son de libre uso. Veamos algunas normas sobre ellos:
El puerto 0 es un puerto reservado, pero es un puerto permitido si el emisor no permite respuestas del receptor.
Los puertos 1 a 1023 reciben el nombre de Puertos bien conocidos, y en sistemas Unix, para enlazar con ellos, es necesario tener acceso como superusuario.
Los puertos 1024 a 49151 son los llamados Puertos registrados, y son los de libre utilización.
Los puertos del 491552 al 65535 son puertos efímeros, de tipo temporal, y se utilizan sobre todo por los clientes al conectar con el servidor.
Importancia de la apertura de estos puertos:
La importancia de la apertura de estos puertos viene dada porque muchos programas de muy diferente tipo los utilizan, y necesitan tenerlos abiertos y, en el caso de redes, correctamente asignados. En general, cualquier programa o servicio que necesite comunicarse necesita un puerto (o varios) por el que hacerlo. Los más habituales (y conocidos) son:
- 20 (TCP), utilizado por FTP (File Transfer Protocol) para datos
- 21 (TCP), utilizado por FTP (File Transfer Protocol) para control
- 25 (TCP), utilizado por SMTP (Simple Mail Transfer Protocol)
- 53 (TCP), utilizado por DNS (Domain Name System)
- 53 (UDP), utilizado por DNS (Domain Name System)
- 67 (UDP), utilizado por BOOTP BootStrap Protocol (Server) y por DHCP
- 68 (UDP). utilizado por BOOTP BootStrap Protocol (Client) y por DHCP
- 69 (UDP), utilizado por TFTP (Trivial File Transfer Protocol)
- 80 (TCP), utilizado por HTTP (HyperText Transfer Protocol)
- 88 (TCP), utilizado por Kerberos (agente de autenticación)
- 110 (TCP), utilizado por POP3 (Post Office Protocol)
- 137 (TCP), utilizado por NetBIOS (servicio de nombres)
- 137 (UDP), utilizado por NetBIOS (servicio de nombres)
- 138 (TCP), utilizado por NetBIOS (servicio de envío de datagramas)
- 138 (UDP), utilizado por NetBIOS (servicio de envío de datagramas)
- 139 (TCP), utilizado por NetBIOS (servicio de sesiones)
- 139 (UDP), utilizado por NetBIOS (servicio de sesiones)
- 143 (TCP), utilizado por IMAP4 (Internet Message Access Protocol)
- 443 (TCP), utilizado por HTTPS/SSL (transferencia segura de páginas web)
- 631 (TCP), utilizado por CUPS (sistema de impresión de Unix)
- 993 (TCP), utilizado por IMAP4 sobre SSL
- 995 (TCP), utilizado por POP3 sobre SSL
- 1080 (TCP), utilizado por SOCKS Proxy
- 1433 (TCP), utilizado por Microsoft-SQL-Server
- 1434 (TCP), utilizado por Microsoft-SQL-Monitor
- 1434 (UDP), utilizado por Microsoft-SQL-Monitor
- 1701 (UDP), utilizado para Enrutamiento y Acceso Remoto para VPN con L2TP.
- 1723 (TCP). utilizado para Enrutamiento y Acceso Remoto para VPN con PPTP.
- 1761 (TCP), utilizado por Novell Zenworks Remote Control utility
- 1863 (TCP), utilizado por MSN Messenger
Esta es una pequeña lista de los principales puertos, aunque hay bastantes más. A todos ellos hay que añadir aquellos que utilizan otros programas, ya sean del tipo P2P, de acceso remoto a terminales, de juegos OnLine y un largo etcétera.
Apertura de puertos:
- Un puerto se puede abrir a dos niveles, a nivel del sistema y a nivel salida de comunicación.
- A nivel del sistema se trata de autorizar en el Firewall el tráfico por un determinado puerto.
- A nivel salida de comunicación se trata básicamente de configurar un enrutador, o Router para que dirija el tráfico de un puerto determinado a un terminal especificado.
- Números de puerto bien conocidos usados por TCP y UDP. También se añade algún otro puerto no asignado oficialmente por IANA, pero de interés general dado el uso extendido que le da alguna aplicación.
Puerto/protocolo | Descripción |
n/d / GRE | GRE (protocolo IP 47) Enrutamiento y acceso remoto |
n/d / ESP | IPSec ESP (protocolo IP 50) Enrutamiento y acceso remoto |
n/d / AH | IPSec AH (protocolo IP 51) Enrutamiento y acceso remoto |
1/tcp | Multiplexor TCP |
7/tcp | Protocolo Echo (Eco) Responde con eco a llamadas remotas |
9/tcp | Protocolo Discard Elimina cualquier dato que recibe |
13/tcp | Protocolo Daytime Fecha y hora actuales |
17/tcp | Quote of the Day (Cita del Día) |
19/tcp | Protocolo Chargen Generador de caracteres |
20/tcp | FTP File Transfer Protocol (Protocolo de Transferencia de Ficheros) – datos |
21/tcp | FTP File Transfer Protocol (Protocolo de Transferencia de Ficheros) – control |
22/tcp | SSH, scp, SFTP |
23/tcp | Telnet manejo remoto de equipo, inseguro |
25/tcp | SMTP Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo) |
37/tcp | time (comando) |
43/tcp | nicname |
53/tcp | DNS Domain Name System (Sistema de Nombres de Dominio), por ejemplo BIND9 |
67/udp | BOOTP BootStrap Protocol (Server), también usado por DHCP |
68/udp | BOOTP BootStrap Protocol (Client), también usado por DHCP |
69/udp | TFTP Trivial File Transfer Protocol (Protocolo Trivial de Transferencia de Ficheros) |
70/tcp | Gopher |
79/tcp | Finger |
80/tcp | HTTP HyperText Transfer Protocol (Protocolo de Transferencia de HiperTexto) (WWW) |
88/tcp | Kerberos Agente de autenticación |
110/tcp | POP3 Post Office Protocol (E-mail) |
111/tcp | sunrpc |
113/tcp | ident (auth) antiguo sistema de identificación |
119/tcp | NNTP usado en los grupos de noticias de usenet |
123/udp | NTP Protocolo de sincronización de tiempo |
135/tcp | epmap |
137/tcp | NetBIOS Servicio de nombres |
138/tcp | NetBIOS Servicio de envío de datagramas |
139/tcp | NetBIOS Servicio de sesiones |
143/tcp | IMAP4 Internet Message Access Protocol (E-mail) |
161/tcp | SNMP Simple Network Management Protocol |
162/tcp | SNMP-trap |
177/tcp | XDMCP Protocolo de gestión de displays en X11 |
389/tcp | LDAP Protocolo de acceso ligero a Bases de Datos |
443/tcp | HTTPS/SSL usado para la transferencia segura de páginas web |
445/tcp | Microsoft-DS (Active Directory, compartición en Windows, gusano Sasser, Agobot) o también es usado por Microsoft-DS compartición de ficheros |
465/tcp | SMTP Sobre SSL. Utilizado para el envío de correo electrónico (E-mail) |
500/udp | IPSec ISAKMP, Autoridad de Seguridad Local |
512/tcp | exec |
513/tcp | Rlogin |
514/udp | syslog usado para logs del sistema |
520/udp | RIP Routing Information Protocol (Protocolo de Información de Enrutamiento) |
591/tcp | FileMaker 6.0 (alternativa para HTTP, ver puerto 80) |
631/tcp | CUPS sistema de impresión de Unix |
666/tcp | identificación de Doom para jugar sobre TCP |
993/tcp | IMAP4 sobre SSL (E-mail) |
995/tcp | POP3 sobre SSL (E-mail) |
1080/tcp | SOCKS Proxy |
1337/tcp | suele usarse en máquinas comprometidas o infectadas |
1352/tcp | IBM Lotus Notes/Domino RCP |
1433/tcp | Microsoft-SQL-Server |
1434/tcp | Microsoft-SQL-Monitor |
1494/tcp | Citrix MetaFrame Cliente ICA |
1512/tcp | WINS Windows Internet Naming Service |
1521/tcp | Oracle listener por defecto |
1701/udp | Enrutamiento y Acceso Remoto para VPN con L2TP. |
1720/udp | H.323 |
1723/tcp | Enrutamiento y Acceso Remoto para VPN con PPTP. |
1761/tcp | Novell Zenworks Remote Control utility |
1863/tcp | MSN Messenger |
1935/tcp | FMS Flash Media Server |
2049/tcp | NFS Archivos del sistema de red |
2082/tcp | cPanel puerto por defecto |
2083/tcp | CPanel puerto por defecto sobre SSL |
2086/tcp | Web Host Manager puerto por defecto |
2427/udp | Cisco MGCP |
3030/tcp and udp | NetPanzer |
3074/tcp | Xbox Live |
3074/udp | Xbox Live |
3128/tcp | HTTP usado por web caches y por defecto en Squid cache |
3128/tcp | NDL-AAS |
3306/tcp | MySQL sistema de gestión de bases de datos |
3389/tcp | RDP (Remote Desktop Protocol) Terminal Server |
3396/tcp | Novell agente de impresión NDPS |
3690/tcp | Subversion (sistema de control de versiones) |
4662/tcp | eMule (aplicación de compartición de ficheros) |
4672/udp | eMule (aplicación de compartición de ficheros) |
4899/tcp | RAdmin (Remote Administrator), herramienta de administración remota (normalmente troyanos) |
5000/tcp | Universal plug-and-play |
5060/udp | Session Initiation Protocol (SIP) |
5190/tcp | AOL y AOL Instant Messenger |
5222/tcp | Jabber/XMPP conexión de cliente |
5223/tcp | Jabber/XMPP puerto por defecto para conexiones de cliente SSL |
5269/tcp | Jabber/XMPP conexión de servidor |
5432/tcp | PostgreSQL sistema de gestión de bases de datos |
5517/tcp | Setiqueue proyecto SETI@Home |
5631/tcp | PC-Anywhere protocolo de escritorio remoto |
5632/udp | PC-Anywhere protocolo de escritorio remoto |
5400/tcp | VNC protocolo de escritorio remoto (usado sobre HTTP) |
5500/tcp | VNC protocolo de escritorio remoto (usado sobre HTTP) |
5600/tcp | VNC protocolo de escritorio remoto (usado sobre HTTP) |
5700/tcp | VNC protocolo de escritorio remoto (usado sobre HTTP) |
5800/tcp | VNC protocolo de escritorio remoto (usado sobre HTTP) |
5900/tcp | VNC protocolo de escritorio remoto (conexión normal) |
6000/tcp | X11 usado para X-windows |
6112/udp | Blizzard |
6129/tcp | Dameware Software conexión remota |
6346/tcp | Gnutella compartición de ficheros (Limewire, etc.) |
6347/udp | Gnutella |
6348/udp | Gnutella |
6349/udp | Gnutella |
6350/udp | Gnutella |
6355/udp | Gnutella |
6667/tcp | IRC IRCU Internet Relay Chat |
6881/tcp | BitTorrent puerto por defecto |
6969/tcp | BitTorrent puerto de tracker |
7100/tcp | Servidor de Fuentes X11 |
7100/udp | Servidor de Fuentes X11 |
8000/tcp | iRDMI por lo general, usado erróneamente en sustitución de 8080. También utilizado en el servidor de streaming ShoutCast. |
8080/tcp | HTTP HTTP-ALT ver puerto 80. Tomcat lo usa como puerto por defecto. |
8118/tcp | privoxy |
9009/tcp | Pichat peer-to-peer chat server |
9898/tcp | Gusano Dabber (troyano/virus) |
10000/tcp | Webmin (Administración remota web) |
19226/tcp | Panda SecurityPuerto de comunicaciones de Panda Agent. |
12345/tcp | NetBus en:NetBus (troyano/virus) |
25565/tcp | Minecraft Puerto por defecto usado por servidores del juego. |