Puede un puerto de red usarse para cualquier protocolo?

fastak_

Hola,

Tengo un par de dudas acerca de los puertos de red actuales. Según la Wikipedia hay un total de 65536 puertos.

  1. ¿Puede un puerto, por ejemplo el 80, destinado habitualmente a la comunicación con servidores web usarse para comunicar con un servidor de correo para el trafico saliente? El cual usa habitualmente el 465 por ejemplo...
  1. Partiendo de la premisa de que los routers que hay en la mayoría de hogares son los que la operadora proporciona al cliente, y estos tienen todos los puertos cerrados por seguridad, ¿como es posible que un PC dentro de esa red sea capaz de usar todos los servicios de Internet sin tener que ir a la NAT del router a abrir el puerto? Juegos, Teamviewer, FTP y otras apps que requieren una conexión a Internet funcionan sin problemas? ¿Cómo funciona?

P.D: Las preguntas son meramente curiosidades por ampliar conocimiento, no es ninguna necesidad personal.

willy_chaos

1 - Si, aunque hay algunas aplicaciones del sistema operativo que ya usan puertos. Existen unos puertos reservados para aplicaciones conocidas, x ejemplo el 80 para web sin cifrar pero tu ahi te podrías montar un servidor de counter strike y dando ip y puerto a jugadores se podrían conectar sin problemas.

Pero para no tener problemas siempre se hace uso de los puertos libres (no reservados) que son a partir del 1024 si no recuerdo mal)

2 - Digamos que el router los tiene cerrados de fuera hacia adentro, pero cuando tu solicitas una web, el abre un puerto random y realiza toda conexion por ahí.

Cuando acaba la conexión, ese puerto temporal es cerrado para que otra aplicación que lo necesite pueda usarlo.

1 2 respuestas
AikonCWD

Sí. Aunque existen recomendaciones.

  • Del puerto a 1 - 1024 son asignados a servicios conocidos por la IANA. Como el 80 http, 21, ftp, etc...
  • Del 1024 al 49151 son para programadores. Un desarrollador puede crear una app y registrarla en la IANA para que quede "patente" y evitar que otras aplicaciones de terceros usen tu puerto.
  • Del 49152 a 65535: estos son libres. De uso libre por cualquiera. Además todas las conexiones salientes se suelen hacer por puertos de este rango.

Es decir, tu chrome usará un puerto a partir del 49152 para contactar con el puerto 80 del servidor web de turno.

Pero repito, no hay ningún problema en que programes un juego o chat y uses el puerto 80 para hacer el login xd

1 1 respuesta
fastak_

#2 #3 Gracias por la info.

Entonces por lo que estoy leyendo, puede usarse un puerto, el 80 por ejemplo, para 2 o más servicios? Podría montarse un servidor counter como dice #2 y otro servidor web apache y que los 2 estén escuchando peticiones por el mismo puerto 80? No habría conflicto o lentitud en los servicios?

#2 Respecto a la pregunta 2., en el momento que el router abre un puerto random para darme salida a Internet, ¿puede alguien desde fuera conociendo mi IP escanear mis puertos y ver ese puerto random abierto? ¿Podría aprovecharlo para interceptar el trafico o atacar mi equipo?

Perdon por el desvarío, pero es que me pica mucho la curiosidad desde que me empecé a plantear estas preguntas..

2 respuestas
AikonCWD
#4fastak_:

Podría montarse un servidor counter como dice #2 y otro servidor web apache y que los 2 estén escuchando peticiones por el mismo puerto 80?

No. Eso es imposible sin un binding.

Cada aplicación escucha por un único puerto. Podrías montar un server de counterstrike en el puerto 80, pero luego el cliente (los jugadores) deberían de configurar su juego para que se conecten a ese puerto.

1 1 respuesta
fastak_
#5AikonCWD:

No. Eso es imposible sin un binding.

¿Que podría ocurriría si configurara dos servidores al puerto 80 sin hacer la union como sugieres? fallaría la comunicación del ultimo servidor que intentará escuchar por ese puerto?

3 respuestas
EiNh4nDeR

#6 La segunda aplicación se debería encontrar al puerto escuchando ya.

D

#6 que al iniciar la segunda aplicación, te diría que el puerto está ocupado y petaría

1
willy_chaos

exacto, tu puedes poner cualquier aplicación en un puerto que quieras QUE NO ESTE YA EN USO.

Véase, no puedes tener diferentes aplicaciones escuchando un mismo puerto porque al intentar iniciar la segunda te dará error al intentar abrir ese puerto (ya en uso).

1 1 respuesta
fastak_
#9willy_chaos:

exacto, tu puedes poner cualquier aplicación en un puerto que quieras QUE NO ESTE YA EN USO.

Véase, no puedes tener diferentes aplicaciones escuchando un mismo puerto porque al intentar iniciar la segunda te dará error al intentar abrir ese puerto (ya en uso).

Entendido, gracias.

#4fastak_:

¿puede alguien desde fuera conociendo mi IP escanear mis puertos y ver ese puerto random abierto? ¿Podría aprovecharlo para interceptar el trafico o atacar mi equipo?

¿Sobre esto tendría alguien una aclaración?

1 respuesta
willy_chaos

#10 si, es muy sencillo. pilla un portatil bajate nmap y conectalo el portatil a la wifi hotspot de tu telefono.

Pon tu ip externa de la conexion fibra o adsl y dale a escanear.

Detectara los puertos abiertos que tienes en el router.

La siguiente pregunta es...

Es malo? Bueno estas diciendo a Internet que tienes un servicio activo a la escucha, si ese servicio tiene vulnerabilidades pues pueden liartela -> ten actualizado el servicio y el SO a la ultima version

Se puede esconder? Hay formas como el knock knock protocol o hacer que el servicio no diga que es. Por ejemplo si tienes un servidor FTP , que cuando le hagan un inicio de conexion no diga

Bienvenido al FTP proftpd version 5.2.

Solo quien sepa para que es ese servicio ( o pruebe a enviar comandos y ver la respuesta) sabra que servicio esta a la escucha.

1 1 respuesta
AikonCWD

#6 Como te han dicho, el segundo servidor que intente abrir el puerto para escuchar, petaría y lanzaría una excepción.

1
Nucklear

#11 Tecnicamente eso se llama Port Knocking. Y consiste en hacer una serie de llamadas consecutivas en un orden estipulado para darte acceso. Pero depende de que servicio estes dando es viable inplementarlo o no.

Solo como aclaracion jeje

1 1 respuesta
willy_chaos

#13 eso Port Knocking , ya decia yo que me sonaba un poco raro el knock knock protocol, peor desde el telf he pasado de buscarlo.

Merci por la aclaración/correccion

NeV3rKilL
#4fastak_:

en el momento que el router abre un puerto random para darme salida a Internet, ¿puede alguien desde fuera conociendo mi IP escanear mis puertos y ver ese puerto random abierto? ¿Podría aprovecharlo para interceptar el trafico o atacar mi equipo?

Esto está bastante superado. Con IPv6, que algunas operadoras como Orange ya usan, TODOS los dispositivos están conectados directamente a internet. No hay NAT en ipv6, por ser innecesario.

Un puerto solo está "abierto" si tienes algún servicio escuchando ahí.

Por el simple hecho de crear una regla NAT en el router no vas a abrir ningún puerto, simplemente estarás redireccionando un tráfico a una puerta que puede estar cerrada o abierta.

1 respuesta
fastak_
#15NeV3rKilL:

Esto está bastante superado. Con IPv6, que algunas operadoras como Orange ya usan, TODOS los dispositivos están conectados directamente a internet. No hay NAT en ipv6, por ser innecesario.

Un puerto solo está "abierto" si tienes algún servicio escuchando ahí.

Por el simple hecho de crear una regla NAT en el router no vas a abrir ningún puerto, simplemente estarás redireccionando un tráfico a una puerta que puede estar cerrada o abierta.

Pero yo tengo Orange y cuando salgo a preguntar mi IP a un buscador me dice que tengo IPv4....De hecho lo he consultado desde diferentes ISPs y equipos y casi todos muestran IPv4...

2 respuestas
D

#16 prueba aquí https://test-ipv6.com/

Orange ofrece IPv6, otra cosa es qu etengas el router configurado para que le asigne dicha IP

_Akiles_

Lo del NAT al vuelo creo que se llama ALG, es capaz de analizar trafico y crear las reglas temporales en el NAT o en un firewall.

NeV3rKilL

#16 Yo me puse Orange el año pasado y me dieron IPv6. Tuve que llamar para que me sacasen y me dieron IP Fija.

1 respuesta
fastak_
#19NeV3rKilL:

Yo me puse Orange el año pasado y me dieron IPv6. Tuve que llamar para que me sacasen y me dieron IP Fija.

Osea que por defecto están dando la IPv4 y llamando puedes pedir la IPv6?

Ahora tienes una IPv6 fija sin coste adicional? Yo casi que prefería la dinámica por temas de ataques o evitar estar identificado con una IP para "siempre"

1 respuesta
NeV3rKilL

#20 no. Default te ponen ipv6

Usuarios habituales

  • NeV3rKilL
  • fastak_
  • _Akiles_
  • DiSKuN
  • willy_chaos
  • Nucklear
  • AikonCWD

Tags