¿Por qué algunas conexiones caducan y otras se rechazan?

13

Me he dado cuenta de que a veces al intentar hacer telnet en algún puerto aleatorio, he observado dos tipos de escenarios:

$ telnet example.com 3432
  Trying 173.252.110.27...

$ telnet example.com 3432
  Connection Refused.

¿Alguien puede explicarme cuál es la diferencia entre los dos?

Pradeepchhetri
fuente
1
En el primer caso, se cae el tráfico y en el segundo caso se rechaza el tráfico. El siguiente enlace resume la diferencia entre DROP y RECHAZO chiark.greenend.org.uk/~peterb/network/drop-vs-reject
tuk

Respuestas:

10

Una razón sería el comportamiento de un firewall en example.com. En caso de que el firewall simplemente elimine el tráfico, verá la primera respuesta. Por otro lado, si el firewall rechaza el tráfico, obtendrá el segundo.

Para comprender mejor, tome un filtro de paquetes como tcpdump o wireshark y huela el tráfico mientras realiza las pruebas.

El primer caso se verá como Syn, Syn, Syn ...

El segundo caso se verá como Syn, Rst junto con un posible puerto ICMP inalcanzable.

Una conexión exitosa se verá como Syn, Syn-Ack, Ack que esperamos en el protocolo de enlace tcp de tres vías .

dmourati
fuente
2
Una duda, por lo que si alguna aplicación no escucha en algún puerto y no hay un firewall que bloquee la conexión a ese puerto, debería experimentar el segundo caso. Quiero decir que debería obtener un indicador RST TCP establecido en la respuesta. Estoy en lo correcto ?
pradeepchhetri
2
@pradeepchhetri Sí, si no hay nada escuchando o bloqueando el tráfico a un host en vivo , obtendrá un error de conexión rechazada (y el paquete TCP RST asociado). Sin embargo, eso es realmente poco común en Internet en estos días.
un CVn