Wie funktioniert TCP Ping oder Traceroute?

9

Wie funktioniert der TCP-Ping oder die Traceroute? Berücksichtigt es nur die Zeit, die zum Einrichten des TCP-Handshakes benötigt wird?

Auch beim ICMP-Ping können Sie die Paketgröße angeben. Kann dies beim TCP-Ping erreicht werden?

GeorgeU
quelle
Ich kenne niemanden, der einen TCP-Echo-Server betreibt. Vielleicht meinst du UDP?
Chris S
1
Mein Verständnis ist, dass es Tools gibt, die dies ohne ECHO tun. Sie senden ein SYN-Paket an den Router an Port 80 und warten auf die ACK. Ich möchte nur bestätigen, dass dies das ist, was es ist ... hier ist ein kommerzielles Tool netscantools.com/nstpro_ping.html
GeorgeU

Antworten:

6

Ich glaube, Sie beziehen sich auf diese Dienstprogramme:

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

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

Da für tcpping tcptraceroute erforderlich ist, beginne ich mit tcptraceroute.

Der Autor von tcptraceroute gibt an, dass tcptraceroute im Gegensatz zu einer herkömmlichen Traceroute "durch das Versenden von TCP-SYN-Paketen anstelle von UDP- oder ICMP-ECHO-Paketen die gängigsten Firewall-Filter umgehen kann".

Weiter: Es ist erwähnenswert, dass tcptraceroute niemals vollständig eine TCP-Verbindung mit dem Zielhost herstellt.

Tcptraceroute misst also nicht die Zeit, die zum Ausführen des Drei-Wege-Handshakes benötigt wird, da dies niemals geschieht. Es misst die Zeit vom ersten SYN bis zum SYN / ACK. Dies wird manchmal als halboffener Verbindungsscan bezeichnet.

Aus der nmap-Manpage:

          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.

In Bezug auf Ihre Frage zur Paketgröße hat die obige Beschreibung auch die Antwort. Da tcptraceroute ein Standard-SYN-Paket sendet, sollte es sich um ein kleines Paket handeln, möglicherweise 64 Byte.

dmourati
quelle
0

Mir sind keine Standardspezifikationen oder Referenzimplementierungen für "TCP Ping" oder "TCP Traceroute" bekannt. Daher müssen Sie wahrscheinlich ein bestimmtes Toolpaar auswählen, das diese Tests implementiert, und dann einen Paket-Sniffer verwenden, um zu sehen, was diese bestimmten Tools tun .

Spiff
quelle
-2

Berücksichtigt es nur die Zeit, die zum Einrichten des TCP-Handshakes benötigt wird?

nein ... Ihr Computer sendet 3 UDP- Pakete mit einer TTL (Time-to-Live) von 1. Wenn diese Pakete den nächsten Hop-Router erreichen, verringert er die TTL auf 0 und lehnt das Paket ab. Es sendet eine ICMP Time-to-Live Exceeded (Typ 11), TTL gleich 0 während der Übertragung (Code 0) zurück an Ihren Computer - mit einer Quelladresse von sich selbst, daher kennen Sie jetzt die Adresse des ersten Routers im Pfad .

Weitere Informationen finden Sie unter http://www.tek-tips.com/faqs.cfm?fid=381

Pete White
quelle
+1 Es müssen jedoch nicht drei gesendet werden, das ist willkürlich und steuerbar, und es werden in der Regel ICMP-Pakete gesendet, die nicht UDP sind.
Orbling
1
Die Frage bezieht sich nicht auf die traditionelle Traceroute, die ICMP verwendet, oder die UDP-Alternative. Es ist speziell für Traceroute, das auf TCP-Paketen basiert.
GeorgeU
@Orbling die ursprüngliche Unix-Traceroute und alle Un * x-ähnlichen Traceroutes bis heute senden standardmäßig UDP-Pakete aus und erhalten die ICMP-Zeit, die die Pakete überschreitet, zurück. Möglicherweise denken Sie an eine nicht standardmäßige Implementierung von Traceroute, z. B. das "Tracert" von Microsoft.
Spiff
-2

Traceroute '' ist ein Netzwerk-Debugging-Dienstprogramm, das versucht, den Pfad zu verfolgen, den ein Paket durch das Netzwerk nimmt. Traceroute überträgt Pakete mit TTL-Werten (Small Time to Live). Bei jedem Router wird der Wert um 1 dekrementiert. Wenn TTL 0 erreicht, ist das Paket abgelaufen und wird verworfen. Die Traceroute hängt von der üblichen Router-Praxis ab, eine in RFC 792 dokumentierte ICMP Time Exceeded-Nachricht an den Absender zurückzusenden, wenn dies auftritt.

Stephen Lembert
quelle