Todo lo que necesitas saber sobre los números de puerto TCP y UDP en Cisco IOS
Cuando trabajas con el Cisco IOS, es muy importante conocer los números de puerto TCP y UDP. Esto es especialmente cierto al crear listas de control de acceso (ACLs) en IOS. Vamos a verlo más de cerca.
¿Qué es un número de puerto?
Es probable que muchos de ustedes ya sepan qué son los números de puerto, pero aquí hay una breve descripción en caso de que no lo sepan: Los números de puerto son números únicos y bien conocidos utilizados por las aplicaciones TCP (Protocolo de Control de Transmisión) y UDP (Protocolo de Datagrama de Usuario). Por ejemplo, Telnet utiliza el puerto 23 y HTTP utiliza el puerto 80 para el tráfico web.
Los números de puerto bien conocidos van del 0 al 1023, los números de puerto registrados van del 1024 al 49151, y los números de puerto dinámicos o privados van del 49152 al 65535. La Autoridad de Números Asignados de Internet (IANA) proporciona una lista completa de estos números de puerto en su sitio web. La Corporación de Internet para la Asignación de Nombres y Números (ICANN) asigna los números de puerto bien conocidos y registrados.
Ten en cuenta que hay una gran diferencia entre un número de puerto y un número de protocolo, no los confundas. Un número de protocolo es un número reservado utilizado para identificar protocolos. Por ejemplo, IP es el protocolo número 4, ICMP es el 1, EIGRP es el 88 y OSPF es el protocolo número 89. El sitio web de la IANA ofrece una lista completa de números de protocolo asignados.
¿Qué tiene que ver esto con Cisco IOS?
Hay varios lugares en Cisco IOS donde se utilizarían los números de puerto. La mayoría de las veces, me encuentro utilizando números de puerto al configurar ACLs de IOS. El Cisco IOS conoce muchos números de puerto, por lo que no tienes que memorizar los 65,535 puertos posibles.
En mi enrutador de la serie Cisco 2800 con IOS 12.4, el IOS conoce 34 números de puerto comunes. Aquí está la lista:
Cómo garantizar la validación local de los clientes en un dominio multi-sitioRouter(config)# access-list 151 permit tcp any any eq ? <0-65535> Número de puerto bgp Protocolo de puerta de enlace (179) chargen Generador de caracteres (19) cmd Comandos remotos (rcmd, 514) daytime Hora del día (13) discard Descartar (9) domain Servicio de nombres de dominio (53) drip Protocolo de información de enrutamiento dinámico (3949) echo Eco (7) exec Ejecutar (rsh, 512) finger Finger (79) ftp Protocolo de transferencia de archivos (21) ftp-data Conexiones de datos de FTP (20) gopher Gopher (70) hostname Servidor de nombre de host de NIC (101) ident Protocolo de identificación (113) irc Internet Relay Chat (194) klogin Inicio de sesión de Kerberos (543) kshell Shell de Kerberos (544) login Inicio de sesión (rlogin, 513) lpd Servicio de impresora (515) nntp Protocolo de transporte de noticias de red (119) pim-auto-rp PIM Auto-RP (496) pop2 Protocolo de oficina de correos v2 (109) pop3 Protocolo de oficina de correos v3 (110) smtp Protocolo simple de transferencia de correo (25) sunrpc Sun Remote Procedure Call (111) syslog Syslog (514) tacacs Sistema de control de acceso TAC (49) talk Talk (517) telnet Telnet (23) time Hora (37) uucp Programa de copia de Unix a Unix (540) whois Nicname (43) www World Wide Web (HTTP, 80) Router(config)# access-list 151 permit tcp any any eq
Notarás algunos puertos familiares y frecuentemente utilizados en esta lista, como:
- WWW - puerto 80
- Telnet - puerto 23
- SMTP - puerto 25
- FTP y FTP-data - puertos 21 y 20
- Domain (en realidad DNS) - puerto 53
- BGP - puerto 179
Sin embargo, el resto de los puertos están desactualizados. ¿Quién utiliza UUCP en la actualidad? En mi opinión, Cisco realmente necesita actualizar esta lista eliminando aplicaciones antiguas y sin uso, y agregando nuevas. Por ejemplo, las primeras dos aplicaciones que agregaría serían HTTPS en el puerto 443 y RDP / Terminal Server en el puerto 3389. ¿Cuáles agregarías tú?
¿Cuándo necesito conocer un número de puerto?
Aunque 34 puertos pueden parecer muchos, en realidad son muy pocos en comparación con los aproximadamente 50,000 números de puerto registrados. Debido a esto, necesitas conocer muchos de los números de puerto que configurarás dentro de un ACL.
Por ejemplo, supongamos que quiero configurar un ACL para denegar todo el tráfico de AOL AIM (mensajería instantánea) desde cualquier origen. Esto es lo que haría:
Router(config)# access-list 152 deny tcp any any eq 5190
El puerto 5190 es el puerto registrado para AOL AIM. Luego permitiría otros tipos de tráfico y aplicaría el ACL, como se muestra a continuación:
Router(config)# access-list 152 permit ip any any Router(config)# interface fa0/0 Router(config)# ip access-group in
Ahora, digamos que un mes después, decido detener también el tráfico de MSN Messenger. Podría usar la opción de edición de ACL en Cisco IOS y agregar la denegación del puerto 1863, como se muestra a continuación:
Cuál es la mejor opción de protocolo de enrutamiento para una red empresarialRouter(config)# ip access-list 152 ext Router(config-ext-nacl)# 15 deny tcp any any eq 1863
Finalmente, aquí está mi ACL:
Router# show ip access-lists 152 Extended IP access list 152 10 deny tcp any any eq 5190 15 deny tcp any any eq 1863 20 permit ip any any Router#
Observa cómo muestra los números de puerto como los números que ingresé. Sin embargo, si ingreso un ACL utilizando uno de los números de puerto conocidos por Cisco IOS, traducirá ese número de puerto a la abreviatura alfabética, como se muestra a continuación:
Router(config)# access-list 158 permit tcp any any eq 80 Router(config)# Router(config)#^Z Router# show ip access-lists 158 Extended IP access list 158 10 permit tcp any any eq www Router#
Además, también puedes ingresar un ACL utilizando las abreviaturas alfabéticas conocidas por Cisco. Por ejemplo, puedo representar el puerto 23 ingresando tel (para Telnet), como se muestra a continuación:
Router(config)# access-list 157 permit tcp any any eq tel
Hay otras ocasiones en las que necesitas conocer los números de puerto. Aunque el Cisco IOS conocía el puerto 23 en nuestro ejemplo, ese no siempre es el caso. Recientemente, utilicé el comando debug ip packet detail en mi conexión Telnet a un enrutador. Como se puede ver en la siguiente salida, dice que el número de puerto de destino es 23 - no telnet(23):
Aug 24: IP: s=10.1.1.1 (Serial0/2/0), d=10.2.2.2, len 42, rcvd 4 Aug 24: TCP src=4672, dst=23, seq=4227579056, ack=1459609700, win=64636 ACK PSH
Esta es otra razón para memorizar números de puerto comunes, ya que ahorra tiempo. Además, si estás estudiando para exámenes de certificación de Cisco como CCNA o CCNP, es muy probable que necesites conocer los números de puerto TCP/UDP comunes.
Resumen
Los números de puerto TCP y UDP son muy importantes en redes en general y al trabajar con Cisco IOS. Aunque Cisco IOS puede ayudarte a traducir algunos puertos, todavía es importante conocer los números de puerto en uso hoy en día, o al menos saber cómo encontrarlos rápidamente.
Los 8 pasos para solucionar problemas de red y sistemasEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Redes, allí encontraras muchos artículos similares a Todo lo que necesitas saber sobre los números de puerto TCP y UDP en Cisco IOS , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados