Comment fonctionne TCP Ping ou Traceroute?

9

Comment fonctionne le ping tcp ou traceroute? Tient-il compte du temps nécessaire pour établir la négociation TCP?

Également dans le ping ICMP, vous pouvez spécifier la taille du paquet, cela peut-il être réalisé dans le ping TCP?

GeorgeU
la source
Je ne connais personne qui exécute un serveur d'écho TCP; peut-être voulez-vous dire UDP?
Chris S
1
Je crois comprendre qu'il existe des outils qui le font sans ECHO. Ce qu'ils font, c'est qu'ils envoient un paquet SYN au routeur sur le port 80 et attendent l'ACK. Je veux juste confirmer que c'est bien ça ... voici un outil commercial netscantools.com/nstpro_ping.html
GeorgeU

Réponses:

6

Je pense que vous faites référence à ces utilitaires:

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

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

Puisque tcpping nécessite tcptraceroute, je vais commencer par tcptraceroute.

L'auteur de tcptraceroute déclare que contrairement à un traceroute traditionnel, "En envoyant des paquets TCP SYN au lieu des paquets UDP ou ICMP ECHO, tcptraceroute est capable de contourner les filtres de pare-feu les plus courants."

En outre: il convient de noter que tcptraceroute n'établit jamais complètement une connexion TCP avec l'hôte de destination.

Ainsi, tcptraceroute ne mesure pas le temps nécessaire pour terminer la négociation à trois, car cela ne se produit jamais. Il mesure le temps entre le SYN initial et le SYN / ACK. Ceci est parfois appelé analyse de connexion semi-ouverte.

Depuis la page de manuel 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.

Quant à votre question sur la taille des paquets, la description ci-dessus a également la réponse. Puisque tcptraceroute envoie un paquet SYN standard, ce devrait être un petit paquet, peut-être 64 octets.

dmourati
la source
0

Je ne connais aucune spécification standard ou implémentation de référence pour "TCP Ping" ou "TCP Traceroute", vous devez donc probablement choisir une paire d'outils particulière qui implémente ces tests, puis utiliser un renifleur de paquets pour voir ce que font ces outils particuliers. .

Spiff
la source
-2

Tient-il compte du temps nécessaire pour établir la négociation TCP?

non ... votre machine envoie 3 paquets UDP avec un TTL (Time-to-Live) de 1. Lorsque ces paquets atteignent le routeur de saut suivant, il diminuera le TTL à 0 et rejettera ainsi le paquet. Il enverra un ICMP Time-to-Live Exceeded (Type 11), TTL égal à 0 pendant le transit (Code 0) à votre machine - avec une adresse source de lui-même, donc vous connaissez maintenant l'adresse du premier routeur dans le chemin .

Plus d'informations Veuillez consulter http://www.tek-tips.com/faqs.cfm?fid=381

Pete White
la source
+1 Mais il n'a pas à en envoyer trois, c'est-à-dire arbitraire et contrôlable, et il envoie en règle générale des paquets ICMP et non UDP.
Orbling
1
La question ne concerne pas la traceroute traditionnelle qui utilise ICMP, ou l'alternative UDP. C'est spécifiquement pour Traceroute qui s'appuie sur des paquets TCP.
GeorgeU
@Orbler la traceroute Unix d'origine et toutes les traceroutes de type Un * x à ce jour par défaut envoient des paquets UDP et récupèrent le temps ICMP dépassé. Vous pensez peut-être à une implémentation non standard de traceroute, comme le "tracert" de Microsoft.
Spiff
-2

Traceroute '' est un utilitaire de débogage réseau qui tente de tracer le chemin emprunté par un paquet à travers le réseau. Traceroute transmet des paquets avec des valeurs TTL (time to live) réduites. À chaque routeur, la valeur est décrémentée de 1 et si TTL atteint 0, le paquet a expiré et est rejeté. Traceroute dépend de la pratique courante du routeur d'envoyer un message ICMP Time Exceeded, documenté dans la RFC 792, à l'expéditeur lorsque cela se produit.

Stephen Lembert
la source