¿Cómo funciona TCP Ping o Traceroute?

9

¿Cómo funciona tcp ping o traceroute? ¿Tiene en cuenta el tiempo necesario para establecer el protocolo de enlace TCP?

También en el ping ICMP puede especificar el tamaño del paquete, ¿se puede lograr en el ping TCP?

GeorgeU
fuente
No conozco a nadie que ejecute un servidor tcp echo; tal vez te refieres a UDP?
Chris S
1
Tengo entendido que hay herramientas que hacen esto sin el ECHO. Lo que hacen es enviar un paquete SYN al enrutador en el puerto 80 y esperar el ACK. Solo quiero confirmar que esto es lo que es ... aquí hay una herramienta comercial netscantools.com/nstpro_ping.html
GeorgeU

Respuestas:

6

Creo que te refieres a estas utilidades:

http://www.vdberg.org/~richard/tcpping.html

http://michael.toren.net/code/tcptraceroute/

Como tcpping requiere tcptraceroute, comenzaré con tcptraceroute.

El autor de tcptraceroute afirma que, a diferencia de un traceroute tradicional, "al enviar paquetes TCP SYN en lugar de paquetes UDP o ICMP ECHO, tcptraceroute puede omitir los filtros de firewall más comunes".

Además: Vale la pena señalar que tcptraceroute nunca establece completamente una conexión TCP con el host de destino.

Entonces, tcptraceroute no mide el tiempo que lleva completar el apretón de manos de tres vías porque eso nunca sucede. Mide el tiempo desde el SYN inicial hasta el SYN / ACK. Esto a veces se denomina exploración de conexión medio abierta.

Desde la página de manual de nmap:

          This technique is often referred to as half-open scanning,
          because you don’t open a full TCP connection. You send a SYN
          packet, as if you are going to open a real connection and then
          wait for a response. A SYN/ACK indicates the port is listening
          (open), while a RST (reset) is indicative of a non-listener. If
          no response is received after several retransmissions, the port
          is marked as filtered. The port is also marked filtered if an
          ICMP unreachable error (type 3, code 1,2, 3, 9, 10, or 13) is
          received.

En cuanto a su pregunta sobre el tamaño del paquete, la descripción anterior también tiene la respuesta. Como tcptraceroute envía un paquete SYN estándar, debe ser un paquete pequeño, quizás de 64 bytes.

dmourati
fuente
0

No conozco ninguna especificación estándar o implementación de referencia para "TCP Ping" o "TCP Traceroute", por lo que probablemente necesite elegir un par particular de herramientas que implementen estas pruebas y luego usar un sniffer de paquetes para ver qué hacen esas herramientas en particular .

Spiff
fuente
-2

¿Tiene en cuenta el tiempo necesario para establecer el protocolo de enlace TCP?

no ... su máquina envía 3 paquetes UDP con un TTL (Tiempo de vida) de 1. Cuando esos paquetes llegan al enrutador del próximo salto, disminuirá el TTL a 0 y, por lo tanto, rechazará el paquete. Enviará un ICMP Tiempo de vida excedido (Tipo 11), TTL igual a 0 durante el tránsito (Código 0) de regreso a su máquina, con una dirección de origen propia, por lo tanto, ahora conoce la dirección del primer enrutador en la ruta .

Más información Consulte http://www.tek-tips.com/faqs.cfm?fid=381

Pete White
fuente
+1 Pero no tiene que enviar tres, eso es arbitrario y controlable, y por lo general envía paquetes ICMP, no UDP.
Orbling
1
La pregunta no es sobre el traceroute tradicional que utiliza ICMP, o la alternativa UDP. Es específicamente para Traceroute que se basa en paquetes TCP.
GeorgeU
@Orbling del trazado de ruta original de Unix, y todos los trazadores de ruta tipo Un * x hasta el día de hoy envían paquetes UDP de manera predeterminada y recuperan los paquetes de tiempo excedido de ICMP. Quizás esté pensando en una implementación no estándar de traceroute, como el "tracert" de Microsoft.
Spiff
-2

Traceroute '' es una utilidad de depuración de red que intenta rastrear la ruta que toma un paquete a través de la red. Traceroute transmite paquetes con valores de tiempo de vida pequeño (TTL). En cada enrutador, el valor se reduce en 1 y si TTL llega a 0, el paquete ha caducado y se descarta. Traceroute depende de la práctica común del enrutador de enviar un mensaje de tiempo excedido ICMP, documentado en RFC 792, al remitente cuando esto ocurre.

Stephen Lembert
fuente